显示长文本描述输出

时间:2017-12-10 06:05:44

标签: php html css youtube

您好如何正确显示数据库中的内容

  

[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']); ?>

1 个答案:

答案 0 :(得分:0)

使用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']));

<强> 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是你想要的元素。