HTMLエンティティを削除するためのpreg_replaceが機能しないのはなぜですか?なぜこのpreg_replaceが機能しないのですか? HTMLエンティティを削除する
// Remove all HTML entities
$text = preg_replace('/&[A-Za-z0-9]+?;/',' ', $text);
私は単にのように、すべてのHTMLエンティティ置き換えるしようとしている;「(& ###を、<、およびなど)のスペースで、それは彼らと私を交換していないので、私は何かが欠けているように見えます今は完全に混乱している。
テストケース
コード:
// Remove all HTML entities
$title="♥♥♥ I like cats ♥♥♥";
echo "BEFORE : ".$title."\n";
$title2 = preg_replace('/&[A-Za-z0-9]+?;/e',' ', $title);
echo "AFTER : ".$title2."\n";
出力:
BEFORE : ♥♥♥ I like cats ♥♥♥
AFTER : ♥♥♥ I like cats ♥♥♥
PHP情報:
PHPバージョン:5.3.6-13 Ubuntuの3.5
正規表現ライブラリ:バンドルライブラリが
http://regexadvice.com/forums/thread/17340.aspx – hackartist
期待どおりに動作します。あなたの入力とは何か違うことがありますが、それを間違って適用しているかもしれません。 – mario
私はそれをテストする方法を追加しました。それは私のためには機能しません。 –