嗨我有一個strtr()
的問題。array_merge&strtr()不起作用
我正在創建一個網站,用戶可以添加他們的表情符號,並通過輸入表情符號的特殊代碼在他們的帖子中調用他們。
這是我做了什麼和它的作品在一定程度上:
//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'] . "' />"
);
這將創建一個用戶上傳的表情多維數組。
當我使用strtr($txt,$table[0])
,它與數組[0]和其他人一起工作,但我想改變位於所有子陣列和周圍的表情符號的特殊代碼。
因此,我所做的是把數組合並,像這樣:
$oneDim = call_user_func_array('array_merge',$table);
我得到了所有SpecialCode =>圖像領域的一個維數組。
但是strtr($txt,$oneDim)
停止工作;它沒有顯示任何東西。
我很擔心,因爲我試過幾種不同的方法來合併除call_user_func_array()
以外的數組,並且它給出了相同的結果。
也許有人可以幫助我。我將非常感激。
謝謝
爲什麼不首先使用[str_replace](http://php.net/manual/en/function.strstr.php)? – dbf
@Baba'$ table [] = array();'絕對看起來像有一個索引0,還有更多的索引,具體取決於mysql_fetch_array'會返回多少個索引。 – dbf
嘿傢伙! str_replace非常感謝。 – Dave