首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >array_merge & strtr()不起作用

array_merge & strtr()不起作用
EN

Stack Overflow用户
提问于 2012-11-04 05:34:35
回答 1查看 526关注 0票数 2

嗨,我有一个关于strtr()的问题。

我正在创建一个网站,在那里用户可以添加他们的表情符号,并通过键入表情符号的特殊代码在他们的帖子中调用它们。

这就是我所做的,它在某种程度上是有效的:

代码语言:javascript
复制
//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])时,它适用于数组和其他数组,但我希望将特殊代码更改为位于所有子数组内和周围的表情符号。

因此,我所做的就是像这样合并数组:

代码语言:javascript
复制
$oneDim = call_user_func_array('array_merge',$table);

我得到了包含所有SpecialCode =>图像字段的一维数组。

但是strtr($txt,$oneDim)停止了对它的处理;它没有显示任何内容。

我很担心,因为我尝试了几种不同的方法来合并数组,而不是call_user_func_array(),它产生了相同的结果。

也许有个人可以帮我解决这个问题。我会非常感激的。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-03-05 22:42:33

你做错了。

假设你有一个chatbox

代码语言:javascript
复制
+--------------------------------------+
|Tom: Welcome!                         |
|Terry: Hello! :)                      |
+--------------------------------------+-------+
|                                      | SEND  |
---------------------------------------+-------+

在将输出放入文本框之前,您需要解析字符串,如下所示:

代码语言:javascript
复制
<?php
   if(strpos($str, ":)")){
         $str = str_replace(':)',"<img src='smiley.png'/>",$str);
   }
?>

当您使用AJAX输出HTML时,您将数据读回为$str。

不需要你开始做的所有不必要的处理。

如果你在这方面需要更多帮助,我会在今天下班后在我的网站@ http://www.code-genius.com/上发布一个教程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13213727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档