&
をアンパサンドに変換するには、このPHP snippetを使用する必要があります。 Paul Dixonが書いたのとまったく同じテストコードを使用していますが、コード内でアンパサンドは置き換えられません。どうして?私はPHP 5.2.6を使用しています。なぜこのアンパサンドと一致する正規表現は機能しませんか?
$str_fix = preg_replace('/&(?!#?[a-z0-9]+;)/', '&', $str);
以下、(それも&
で&
を置き換えます)シンプルなしかし間違った正規表現作品:
$str_fix = preg_replace('/&/', '&', $str);
EDIT:Damnit、問題は正規表現/ PHP関連しているがDrupalのではありません!はい、Drupalモジュールでこのスニペットを使用していますが、何らかの理由でDrupalが&
を&
に変換しています。
失敗した '$ str'の例を投稿してください。私にはうまくいくようです。 –
私はそれを言うでしょう。そして私は正規表現の問題を見ることができません。 '$ str_fix'の代わりに' $ str'をチェックすることは可能ですか? – mario
この質問に対する回答を見つけましたか? – 23inhouse