Laravel用图像标签替换数据库内容中的字符串


Laravel replace string from database content with an image tag

我为一个网站编写博客,该网站将有一个后端,用户可以在那里写自己的帖子。

我需要做的是让作者能够在图片中链接到内容中,我需要做一个像[image="URL HERE"]CAPTION HERE[/image]这样的字符串,当网站加载帖子时,它需要识别该字符串,并从标题和标签中解析url,以输出一个图片+p标签。

我想知道我怎么能用最简单的方式做到这一点?

我希望输出类似于:

<img src="URL TO IMAGE" alt="CAPTION HERE" /><p>CAPTION HERE</p>

此函数将方便您使用:

function parse_images($text)
{
    $find    = array('~'[image="(https?://.*?'.(?:jpg|jpeg|gif|png|bmp))"'](.*?)'[/image']~s');
    $replace = array('<img src="$1" alt="" /><p>$2</p>');
    return   preg_replace($find, $replace, $text);
}

我用输入:hello [image="http://google.com/a.png"]CAPTION HERE[/image] world!进行了测试,得到了:

<code>hello <img src="http://google.com/a.png" alt=""><p>CAPTION HERE</p> world!</code>