こんにちは、 に問題がありstrtr()
ます。
ユーザーが絵文字を追加し、絵文字の特別なコードを入力して投稿内で呼び出すことができる Web サイトを作成しています。
これは私がやったことであり、ある程度は機能します:
//FETCH FROM THE DB
while ( $row = mysql_fetch_array($fetch)) {
$table[] = array(
$row['shortcuttag1'] => "<img class='x' src='" . $row['tag1smilo'] . "' />",
$row['shortcuttag2'] => "<img class='x' src='" . $row['tag2smilo'] . "' />",
$row['shortcuttag3'] => "<img class='x' src='" . $row['tag3smilo'] . "' />",
$row['shortcuttag4'] => "<img class='x' src='" . $row['tag4smilo'] . "' />",
$row['shortcuttag5'] => "<img class='x' src='" . $row['tag5smilo'] . "' />"
);
これにより、1 人のユーザーがアップロードした顔文字を含む多次元配列が作成されます。
を使用するstrtr($txt,$table[0])
と、配列[0]などで動作しますが、特殊なコードをすべてのサブ配列内およびその周囲にある絵文字に変更したいと考えています。
したがって、私が行ったことは、次のように配列をマージすることです。
$oneDim = call_user_func_array('array_merge',$table);
すべての SpecialCode => Image フィールドを含む 1 次元配列を取得しました。
しかし、strtr($txt,$oneDim)
それで動作しなくなりました。何も表示されていません。
以外の配列をマージするためにいくつかの異なる方法を試しましたcall_user_func_array()
が、同じ結果が得られるので心配です。
たぶん、私を助けてくれる人がいるでしょう。とても感謝しています。
ありがとう