2011-09-21 12 views
1

こんにちは私は複数の単語(約26)を含む文字列を持っており、それらのいくつかは辞書に現れる実際の言葉になり、他はちょうどごみになります。辞書にも表示されている文字列内の単語に下線を付ける方法。 PHP

私が必要とするのは、コンピュータに出力されたこの文字列を通過し、実際の単語に下線を付けることです。

私はPHPを使用していますが、文字列は毎回異なります。私はすでにtxt形式の辞書をPHPにインポートして配列に分割しています。これが実際の単語が来る場所ですから。

+2

音が宿題のようですか? – markus

+2

これまでに何を試してみましたか、コードはどのように見えますか、どこで失敗しましたか? – markus

答えて

1

スペースでexplode()を使用して、各文字列を単語の配列に分割します。新しい行でテキストファイルに対して同じ処理を行うことができます。次に、文字列から作成した配列の各値をループし、in_array()を使用して値が辞書配列にあるかどうかを確認します。それが本当であれば、<span class="dict_word">$value</span>などを割り当てて、そのクラスのスタイルだけを割り当てることができます。

これは宿題のように聞こえるので、コードを書くつもりはありません。

2

句読点がある場合は、最初に正規表現を使用して削除することができます。

$sentence = 'ajhfd dog bba food!'; 
$clean_sentence = preg_replace ('/[^0-9a-z\s]/', '', $sentence); 

explode関数を使用すると、単語を配列に分割できます。

$words = explode(' ', $clean_sentence); 

次に、単語を調べて、それらが辞書に含まれているかどうかを確認できます。

foreach ($words as $word) { 
    if (in_array($word, $dictionary)) { 
     // This is a dictionary word, lets highlight it 
     $sentence = preg_replace("/\b$word\b/", "<b>$word</b>", $sentence); 
    } 
} 
+0

句読点について考えなかった。良いキャッチ。 –

関連する問題