嗨,我有一个问题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 => Image 字段的一维数组。
但是strtr($txt,$oneDim)
停止使用它;它没有显示任何东西。
我很担心,因为我尝试了几种不同的方法来合并数组,而不是call_user_func_array()
它给出了相同的结果。
也许有人可以帮助我。我将不胜感激。
谢谢