PHP で substr() 関数を使用すると、最後の文字が ë や ö などの特殊な文字の場合、文字列の末尾に疑問符 (疑問符の付いた四角形 - ブラウザーによって異なります) が表示されます。 ...
$introtext = html_entity_decode($item->description, ENT_QUOTES, "UTF-8");
$introtext = substr($introtext, 0, 200);
どうすればこれを逃れることができますか?
文字列にマルチバイト エンコーディング (UTF-8 など) が含まれている場合は、次のmb_substr
ような問題を回避するためにを使用する必要があります。
$introtext=mb_substr($introtext,0,200);
誰かが以前の回答を試してもうまくいかなかった場合:
mb_substr
次のように Unicode 名を追加してみてください。
$introtext = mb_substr($introtext, 0, 200, 'utf-8');
mb_substrを使用
これは、substr がマルチバイト文字で機能しないためです。substr は、おそらくマルチバイト文字を「半分に」カットします。代わりにmb_substrを使用してください。また、ファイルが UTF-8 で保存されていることを確認してください。
$introtext = mb_substr($introtext, 0, 200);