0

str_replace 関数に問題がありました。「quote」という単語を置き換えようとすると、「quoted」という単語の一致する部分も置き換えられますが、これは望ましくありません。

助言がありますか ?

私は用語集ファイルを使用して単語を取得し、それを配列に渡します..次に、用語集の単語で調整する必要があるhtmlファイルを開きます..

4

3 に答える 3

3

preg_replace単語境界を考慮した正規表現で使用できます。

$output = preg_replace('/\b'.preg_quote($word, '/').'\b/', 'replacement', $str);

\bこれが単語境界アサーションです。したがって、の値は、その前後に単語境界がある$word場合にのみ置き換えられます。$str

于 2010-11-05T18:07:56.763 に答える
0

preg_replace を使用すると、より具体的にすることができます。

http://php.net/manual/en/function.preg-replace.php

于 2010-11-05T18:07:18.113 に答える
0

状況依存の置換が必要な場合は、replace() の正規表現バージョンを使用する必要がありますpreg_replace()

echo str_replace("quote", "NEWSTRING", $src_text);

echo preg_replace("/quote\b/", "NEWSTRING", $src_text);
于 2010-11-05T18:18:10.337 に答える