数据库的文本,怎么能改为html代码?

toyiliu 2013-01-24 02:33:35
这段代码,是可以把文本里的[img]
读成html。可以看到图,

但是,换行
<br>

却无法转换,直接就显示文本。
<br>

请问该怎么修改,才能让数据库里的换行展示换行,而不是文本。

<?php
$str=$content;

$count=preg_match_all('/\[img\](.*?)\[\/img\]/i',$str,$match, PREG_SET_ORDER);
if($count>0){
for($i=0;$i<$count;$i++){

// echo $match[$i][0].",".$match[$i][1]."<br>";
$str1="<br><img src=".$match[$i][1]." width=500 ><br>";
//echo $str1.$match[$i][0];
$str = str_replace($match[$i][0], $str1, $str);

}
$bodytag=$str;
} else {
$bodytag=$str;
}

$count=preg_match_all('/\[url\ssrc=(((ht){1}tp://)[-a-zA-Z0-9@:%_/+.~#?&//=]+)\](.*?)\[\/url\]/i',$bodytag,$match, PREG_SET_ORDER);

if($count>0){
for($i=0;$i<count($match);$i++){
$str2="<a href=".$match[$i][1]." target=_blank>".$match[$i][4]."</a>";
$bodytag = str_replace($match[$i][0], $str2, $bodytag);
}
$bodytag1 =$bodytag;
} else {
$bodytag1 =$bodytag;
}
echo $bodytag1;
//echo $content;
?>
...全文
345 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
木目子 2013-01-24
  • 打赏
  • 举报
回复
echo nl2br($bodytag1);
木目子 2013-01-24
  • 打赏
  • 举报
回复
echo nl2br(echo $bodytag1);
ImN1 2013-01-24
  • 打赏
  • 举报
回复
如果是纯文字,显示时用nl2br就行 图文混排或者带标签格式就要慎重,避免<br>插入到某个标签内部,可能需要一个相对精确的正则

20,395

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧