您好如何正确显示数据库上的内容
[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]
那是输出它应该显示图像和视频
这是我的显示代码
<?php echo nl2br($item['content']); ?>
最佳答案
使用 preg_replace()
的方法
这是我编写的一个简单函数,希望对您有所帮助。
$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']));
编辑过
您可以通过以下方式添加更多标签,
首先了解函数
preg_replace()
并阅读Possible modifiers in regex patterns以获取更多信息。
现在您可以添加
$string = preg_replace("/\[url\](.*?)\[\/url]/", "<a href=\"$1\" >$1</a>", $string);
在我的简单函数中最后一个$ string变量之后。
这意味着用
<a href=\"$1\" >$1</a>
替换内部URL标签$ 1是URL,在大多数情况下,$ 1是您想要的元素。
关于php - 显示长文本描述输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47736358/