文字列のすべての文字をHTMLエンティティに変換するにはどうすればよいですか?PHP:すべての文字をHTMLエンティティに変換する
にhtmlentities()は、それらの文字のための(名前の)エンティティはありませんćĆČ芚ĐđŽž
文字列のすべての文字をHTMLエンティティに変換するにはどうすればよいですか?PHP:すべての文字をHTMLエンティティに変換する
にhtmlentities()は、それらの文字のための(名前の)エンティティはありませんćĆČ芚ĐđŽž
のような文字では動作しません。
リストhereが表示されます。数値エンティティに変換する場合はthis answerをご覧ください。
"ć"の文字コードは263であり、これはHTMLエンティティとしてć
などです。
最初にhtmlentitiesを使って変換し、 'preg_replace_callback'と正規表現' '/ [^ \ x00- \ x7F] /」を使って2番目のパスでASCII範囲外の文字を変換します。 – MRAB
一部の文字はhtmlentities();
でエンコードされていないことが広く知られています。あなたはdocsを見ればキャラクターがあなたがstr_replace()
<?php
function encode($string) {
return mb_encode_numericentity($string, array(0x000000, 0x10ffff, 0, 0xffffff), 'UTF-8');
}
echo encode('ćĆČ芚ĐđŽž');
結果で使用できるマップで
は、()は、次のエラーが発生しćĆČ芚ĐđŽž
くそー!時間を検索した後、あなたの答えは私を救った:) – Avik
あなたの推奨代替機能のencode2いくつかの記事があります:エラーを解析します:構文エラー、予期しないT_FUNCTION、array_mapが呼び出された行の ')'を期待しています –
@ A-OK PHP 5.3用です。 – Artefacto