str_replace には非常に些細な問題があります。
次のような En Dash 文字 ( - ) を含む文字列があります。
I want to remove - the dash
html出力は
I want to remove the – the dash
私はこれをしたい:
$new_string = str_replace ('-','',$string);
html_entity_decode を使用して文字列を解析し、削除する文字を htmlspecialchars で解析しようとしましたが、結果はありませんでした。
私が間違っていることは何ですか?
-編集-これは私のスクリプトの完全なコードです:
$title = 'Super Mario Galaxy 2 - Debut Trailer'; // Fetched from the DB, in the DB the character is - (minus) not –
$new_title = str_replace(' - ', '', $title);
$new_title = str_replace(" - ", '', $title);
$new_title = str_replace(html_entity_decode('–'),'',$title);
誰も働きません。基本的に問題は、ダッシュが「マイナス」としてDBに保存されていることです(マイナスキーで値を入力します)が、奇妙な理由で出力は &ndash ; です。
私はWordpressで実行しており、文字セットはDB照合と同じUTF-8です。