我在找东西,但不知道是什么。
我有一个短码,我们叫它[短码]。
用户将在其中输入HTML标记,主要是图像,但也包括链接、链接中的图像等,例如:
[shortcode]
<img src="http://www.site.com/myimage.jpg" />
<a href="http://www.blabla.com"><img src="http://www.site.com/myimage2.jpg" /></a>
(...)
[/shortcode]
关键是我想格式化URL,不同的是,我希望每个img src都以文件/myimagescript开始?
因此,上述代码应输出:
<!--- shortcode code before input -->
<img src="files/myimagescript?http://www.site.com/myimage.jpg" />
<a href="http://www.blabla.com"><img src="files/myimagescript?http://www.site.com/myimage2.jpg" /></a>
(...)
<!-- shortcode code after input -->
所以基本上我需要简单地更改图像的src。它应该适用于任何数量的图像,从1到无限。
我正在考虑foreach PHP循环,但我不确定如何从shortcode中获取每个img src行,并在显示之前对其进行处理?
最合适的回答,由SO网友:Bainternet 整理而成
您可以使用regex找到您的src,并使用它附加“文件/myimagescript?”对它:
function append_myimagescript($attr, $content){
$pattern = \'/src="([^"]*)"/i\';
$replacement = \'files/myimagescript?${1}\';
return preg_replace($pattern, $replacement, $content);
}