2

約10,000語のHTMLテキストと約10,000個のキーワードのリストがあるとします。テキスト内で出現するすべてのキーワードを検索し、それらを。に置き換えたいと思います<span title="a keyword">keyword</span><span>追加の複雑さとして、私はすでにそれらの周りにあるキーワードを置き換えたくありません。

PHPでこれを行うための最良で最も効率的な方法は何ですか?

明らかに、キーワードごとに1つの正規表現を作成し、それらをすべて順番に実行することはできますが、それは複雑な悪夢のようです。

4

3 に答える 3

0

Preg_Replace は非常に強力なツールです。良い一日をお過ごしください

于 2012-05-24T16:15:57.493 に答える
0

こんな感じかも?よくわかりませんが

$str          = "this is keyword say this is also keyword say say";
$newtext      = wordwrap($str, 18, "\n", true);
$patterns[0]  = '/keyword/';
$patterns[1]  = '/say/';
$replacements = array();

foreach($patterns as $k=>$v)
{
  $replacements[] = "<span title=\"a ".str_replace("/","",$v)."\">".str_replace("/","",$v)."</span>";
}

echo preg_replace($patterns, $replacements, $str);
于 2012-05-24T16:26:49.773 に答える
-1

これを試して:

str_replace('your_string','keyword','<span title="a keyword">keyword</span>')
于 2012-05-24T16:15:10.020 に答える