我有这段代码将图片网址转换为图片。
我想只转换第一张图片,所以:
if(preg_match('/(https?:\/\/\S+\.(?:jpg|png|gif))/', $titulo, $matches)){
//$titulo = str_replace($matches[0], "<br><img src=\"$matches[0]\"><br>", $titulo);
$titulo = preg_replace("/$matches[0]/i", "<br><img src=\"$matches[0]\"><br>", $titulo, 1);
}
问题是preg_replace / $ matches [0]给出了这个错误:
Warning: preg_replace(): Unknown modifier '/' in C:\xampp\htdocs\test.php on line 36
它不起作用。任何想法为什么?
答案 0 :(得分:0)
$ match [0]包含斜杠,表示expresion的结束。您可以更改分隔符
"~$matches[0]~i"
制作it work s。但更好的方法是使用preg_quote
函数,它将“特殊”字符和符号设置为第二个参数(thx到@salathe注释)。
这样做是为了不要害怕错误的用户输入:
'/'.preg_quote($matches[0], '/').'/i'