Php 使用正则表达式在和之后插入

Php 使用正则表达式在和之后插入,php,mysql,regex,Php,Mysql,Regex,我试图找到一种解决方案,将html代码中的所有图像插入到一个div中 目前,它们以字符串形式存储在MySQL数据库中,如下所示 Some text <img src="link" alt=""> 一些文本 我想用 我试过了 function bilde($saturs) { preg_replace('<img(.*?)>', '<div class="bilde"><img$1></div>', $saturs); } 函数

我试图找到一种解决方案,将html代码中的所有图像插入到一个div中

目前,它们以字符串形式存储在MySQL数据库中,如下所示

Some text <img src="link" alt="">
一些文本
我想用

我试过了

function bilde($saturs) {
  preg_replace('<img(.*?)>', '<div class="bilde"><img$1></div>', $saturs);
}
函数bilde($saturs){
预更换(“”,,$Saturas);
}

还有许多其他的解决方案,但regex并不是我的强项。

您没有使用regex分隔符。请尝试以下代码:

preg_replace('/<img(.*?)>/is', '<div class="bilde"><img$1></div>', $saturs);
preg_replace('//is',''$saturs);
我添加了
I
(忽略大小写)和
s
(DOTALL)以使正则表达式更有用


但是请记住,使用正则表达式并不总是解析HTML的最佳方式。

是否要更新数据库中存储的所有字符串?不,我只想编辑输出,在div中插入图像,并用css格式化。这很公平。我发布MySQL命令的想法对你没有帮助!:)同样,输出中没有任何内容,也没有错误代码。您需要使用返回值
preg\u replace
@user2454075,这是什么意思?上面的代码很有魅力。。。你确定你什么都没忘吗?使用功能检查是的,上述代码工作正常。但不知怎的,我的函数在标题之前打印文本,在代码中,它是在文本之前打印出来的哦,我的错误是没有返回任何内容。谢谢现在一切都很好。如果这个答案帮助你解决了你的问题,请考虑将它标记为“接受”,这样将来面对类似问题的用户将能够很容易地看到它。