我正在使用这一行来更改$comments
字符串中的所有图像:
$comments = preg_replace("{<img\\s*(.*?)src=('.*?'|\".*?\"|[^\\s]+)(.*?)\\s*/?>}ims", '<a class ="gallery"rel="'.$pagelink.'"href=$2><img $1src=$2 $3 name= $2 $3 /></a>', $comments);
这就像一个魅力,它将它包裹起来<a>
并添加一些东西。现在我需要更改 src 路径。
我想添加"mcith/mcith_"
到字符串中的每个图像。我查看了 dom 函数,但这似乎并没有真正起到作用。
图像路径如下所示:“/uploads/userdirs/admin(从用户到用户的变量目录更改)/image.jpeg”
我希望它是这样的:“/uploads/userdirs/admin/mcith/mcith_image.jpeg”
在类似的问题上,我使用 pathinfo 得到了答案,所以我尝试这样做:
if (preg_match('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i', $comments, $image) ) {
$imagedir = $image['src'];
$pathchange = pathinfo($imagedir);
$comments = $pathchange['dirname'] . '/mcith/mcith_' . $pathchange['basename'];
}
但这并不像我想要的那样工作,因为它会弄乱我的整个字符串,文本和所有内容。我认为解决方案在 preg_replace 行中,但无法弄清楚如何在该行的 src 中添加内容。