数据库的文本,如何能改为html代码
数据库的文本,怎么能改为html代码?
这段代码,是可以把文本里的[img]
读成html。可以看到图,
但是,换行
却无法转换,直接就显示文本。
请问该怎么修改,才能让数据库里的换行展示换行,而不是文本。
------解决方案--------------------
如果是纯文字,显示时用nl2br就行
图文混排或者带标签格式就要慎重,避免<br>插入到某个标签内部,可能需要一个相对精确的正则
------解决方案--------------------
echo nl2br($bodytag1);
这段代码,是可以把文本里的[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;
?>
------解决方案--------------------
如果是纯文字,显示时用nl2br就行
图文混排或者带标签格式就要慎重,避免<br>插入到某个标签内部,可能需要一个相对精确的正则
------解决方案--------------------
echo nl2br($bodytag1);