ない内部【と】[テスト]で機能preg_replace
を使用してPHPで(例えば試験として)。正規表現ではなく内部の単語と一致[そして]
私は今、この権利をやった:
$txt = preg_replace('#([^\[])' . $word . '([^\]])#i', '[' . $word . ']', $txt);
をしかしパターンは、テストここ
一致していない私のテストで:
$txt = 'atesta, test, [test], [atesta]';
$pattern = '#(?:^|[^\[])test(?:[^\]]|$)#i';
$replace = '[test]';
echo "$txt<br />";
$txt = preg_replace($pattern, $replace, $txt);
echo "$txt<br />";
$txt = preg_replace($pattern, $replace, $txt);
echo "$txt<br />";
ここに書かれているとおり、単語_must_b行頭の単語や行末の単語は一致しません。 – Mei
ここで角括弧をエスケープする必要はありません。 '[^] 'はクラス内で意味を持たないので大丈夫です。クラスは少なくとも1つの文字を含んでいなければならないので、' [^]] 'はOKです。 ']'の中で特別な意味を持たない(クラスの先頭や末尾に '-'と似た意味には似ています) –
テスト文字列ごとに何をしたいのですか?そして、大括弧なしの 'atesta'はどうですか? – Toto