Shortcode content filter?

时间:2011-03-09 作者:Wordpressor

我在找东西,但不知道是什么。

我有一个短码,我们叫它[短码]。

用户将在其中输入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行,并在显示之前对其进行处理?

1 个回复
最合适的回答,由SO网友:Bainternet 整理而成

您可以使用regex找到您的src,并使用它附加“文件/myimagescript?”对它:

function append_myimagescript($attr, $content){ 
    $pattern = \'/src="([^"]*)"/i\';
    $replacement = \'files/myimagescript?${1}\';
    return preg_replace($pattern, $replacement, $content);
}

结束

相关推荐

如何在孩子主题之前加载Parent_Theme函数.php?

我的问题是我必须加载我的父主题functions.php 我的子主题之前的文件functions.php 文件加载。设置和;初始化过程。我查看了/wp\\u core\\u root/wp设置中的挂钩。php(名称:do_action(\'setup_theme\');). 问题是我不知道如何连接到那里,因为我得到的第一个文件是子主题的functions.php, 所以没有add_action( \'setup_theme\', \'my_init_function\' ); 将起作用。编辑:a)我知道插