我已将 WYSIWYG 编辑器从旧版本升级到最新版本。图像尺寸的保存方式有所不同。旧版本的编辑器用于为图像标签添加宽度和高度参数。新编辑器创建样式参数并将宽度和高度添加为样式。
我有一个 preg_replace 函数,我可以使用它来包装 <a>
在 <img>
周围标记.
当前的 preg_replace 不再起作用,因为新编辑器将宽度和高度保存在样式参数中。
预替换:
$Content = preg_replace('#<img(.*?)src="([^"]*/)?(([^"/]*)\.[^"]*)"([^>]*?)>((?!</a>))#', '<a rel="group" class="fancybox fancy" title="" href="$2$3"><img$1src="$2$3"></a>', $Content);
如果知道的话,新编辑器会像这样存储图像:
<img alt="" src="" style="" />
而旧的编辑器是这样存储图像的:
<img src="" width="404" height="228" alt="" />
如何重构我的 preg_replace 以复制完整的样式元素?向后兼容也很酷。
感谢您的宝贵时间:)
最佳答案
试试这个:
$regex = '#<img([^>]*) src="([^"/]*/?[^".]*\.[^"]*)"([^>]*)>((?!</a>))#';
$replace = '<a rel="group" class="fancybox fancy" title="" href="$2"><img$1 src="$2"$3></a>';
$Content = preg_replace($regex, $replace, $Content);
关于php - preg_replace 所有 <img> 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16983236/