PHP 替换函数

[emt]2[/emt]
只用把[emt]和[/emt]替换为
<img src=images/xyq/

.gif/>
最后输出是
<img src=images/xyq/2.gif/>
就行了
下面这样 问题出在哪了
function unhtml($content)
{
$content=str_replace("[emt]","<img src=images/xyq/",$content);
$content=str_replace("[/emt]",".gif/>",$content);
return $content;
}
谢谢
<?php
function unhtml($content)
{
$content=str_replace("&","&",$content);
$content=str_replace("<","<",$content);
$content=str_replace(">",">",$content);
$content=str_replace(" "," ",$content);
$content=str_replace(chr(13),"<br>",$content);
$content=str_replace("\\","\\\\",$content);
$content=str_replace(chr(34),""",$content);
$content=str_replace("[emt]","<img src=images/xyq/",$content);
$content=str_replace("[/emt]",".gif/>",$content);
return $content;
}

?>
这是那大段的函数
呵呵 百度也转换 那些东西

程序里面下面这一句有语法错误:
$content=str_replace(chr(34),""",$content);

可以修改为:
$content=str_replace(chr(34),'"'",$content);

或者取消,好像没有什么本质意义。

程序前面几行替换HTML代码的,代码中间不能有空格,你写错了。

我修改后,完整的测试程序如下,测试通过,没有问题,能够替换:

<?php
function unhtml($content)
{
$content=str_replace("&","&",$content);
$content=str_replace("<","<",$content);
$content=str_replace(">",">",$content);
$content=str_replace(" "," ",$content);
$content=str_replace(chr(13),"<br>",$content);
$content=str_replace("\\","\\\\",$content);
$content=str_replace("台什么","不文明用语",$content);
$content=str_replace("[emt]","<img src=images/xyq/",$content);
$content=str_replace("[/emt]",".gif/>",$content);
return $content;
}

$str='台什么[emt]1[/emt]';
echo unhtml($str);
?>

程序运行过程如下:

E:\ygb>php a.php
不文明用语<img src=images/xyq/1.gif/>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-13
function unhtml($content)
{
$content=str_replace("[emt]","<img src=images/xyq/",$content);
$content=str_replace("[/emt]",".gif>",$content);
return $content;
}
这个函数真确的
如果有错误,把他们一个一个的检查就行了。
第2个回答  2009-04-13
加上转义符号

function unhtml($content)
{
$content=str_replace("\[emt\]","<img src=images\/xyq\/",$content);
$content=str_replace("\[\/emt\]",".gif\/>",$content);
return $content;
}
第3个回答  推荐于2016-09-20
字符串取代。
语法: string str_replace(string needle, string str, string haystack);
返回值: 字符串
函数种类: 资料处理
内容说明
本函数将字符串 str 代入 haystack 字符串中,将所有的 needle 置换成 str。

下例将 %body% 以 black 取代
<?php
$bodytag = str_replace("%body%", "black", "<body text=%body%>");
echo $bodytag;
?>
格式:
[@str_replace("要替换的旧内容", "要取代原内容的新字符", $被替换内容的变量名)]
[@str_replace(array('旧1','旧2','旧3'), array('新1','新2','新3'), $被替换内容的变量名)]
[@str_replace(array('旧1','旧2','旧3'), '新内容', $被替换内容的变量名)]

实例:
多对一替换:想把内容字段里所有的<p></p>标签清除掉,替换成空 [@str_replace(array('<p>','</p>'), '', $Content)]
一对一替换:想把内容字段里所有的<br>标签换成<p> [@str_replace('<br>', '<p>', $Content)]
多对多替换:想把内容字段里的<br>换成<br />, 同时<p>换<hr>,把</p>全清除 [@str_replace(array('<br>', '<p>','</p>'), array('<br />','<hr>',''), $Content)]
第4个回答  2009-04-13
要转义吧?