2011-07-16 24 views

答えて

2

のような文字では動作しません。

リストhereが表示されます。数値エンティティに変換する場合はthis answerをご覧ください。

+0

あなたの推奨代替機能のencode2いくつかの記事があります:エラーを解析します:構文エラー、予期しないT_FUNCTION、array_mapが呼び出された行の ')'を期待しています –

+0

@ A-OK PHP 5.3用です。 – Artefacto

2

"ć"の文字コードは263であり、これはHTMLエンティティとしてćなどです。

+0

最初にhtmlentitiesを使って変換し、 'preg_replace_callback'と正規表現' '/ [^ \ x00- \ x7F] /」を使って2番目のパスでASCII範囲外の文字を変換します。 – MRAB

2

一部の文字はhtmlentities();でエンコードされていないことが広く知られています。あなたはdocsを見ればキャラクターがあなたがstr_replace()

2
<?php 

function encode($string) { 
    return mb_encode_numericentity($string, array(0x000000, 0x10ffff, 0, 0xffffff), 'UTF-8'); 
} 

echo encode('ćĆČ芚ĐđŽž'); 

結果で使用できるマップで

は、()は、次のエラーが発生し&#263;&#262;&#268;&#269;&#352;&#353;&#272;&#273;&#381;&#382;

+0

くそー!時間を検索した後、あなたの答えは私を救った:) – Avik

関連する問題