您好如何正确显示数据库中的内容
[center] [youtube] vn9mMeWcgoM [/ youtube] [/ center] [center]这是测试youtube发布视频[/ center] [center] [img] http://3.bp.blogspot.com/-RgszeTgP4eA/Vck93de-LZI/AAAAAAAAaOQ/F0s-XK5Zh4c/w1200-h630-p-k-no-nu/samabawan_island_leyte_philippines.jpg[/img][/center]
这是它应该显示图像和视频的输出
这是我的显示代码
<?php echo nl2br($item['content']); ?>
答案 0 :(得分:0)
这是我写的一个简单的功能,我希望这能帮到你。
$text = "[center][youtube]vn9mMeWcgoM[/youtube] [/center] [center]This is a test youtube post video [/center][center][img]http://3.bp.blogspot.com/-RgszeTgP4eA/Vck93de-LZI/AAAAAAAAaOQ/F0s-XK5Zh4c/w1200-h630-p-k-no-nu/samabawan_island_leyte_philippines.jpg[/img][/center]";
function replace($string){
$string = preg_replace("/\[center\](.*?)\[\/center]/", "<div align='center'>$1</div>", $string);
$string = preg_replace("/\[youtube\](.*?)\[\/youtube]/", "<iframe src=\"https://www.youtube.com/embed/$1\"></iframe>", $string);
$string = preg_replace("/\[img\](.*?)\[\/img]/", "<img src='$1' />", $string);
return $string;
}
echo replace($text);
对于您的代码,请将其命名为echo nl2br(replace($item['content']));
<强> EDITED 强>
以下是添加更多标签的方法,
首先阅读有关函数preg_replace()
阅读Possible modifiers in regex patterns了解更多信息。
现在你可以添加,
$string = preg_replace("/\[url\](.*?)\[\/url]/", "<a href=\"$1\" >$1</a>", $string);
在我的简单函数中的最后一个$ string变量之后。
这意味着用<a href=\"$1\" >$1</a>
替换内部网址标记
$ 1是URL,大多数情况下$ 1是你想要的元素。