在WordPress短码标记之间替换PHP regex
我有一个短码,我希望能够根据帖子的上下文剥离它。
[tooltip slug="test"]Test Text[/tooltip]
我希望输出为:
<span class="dummy">Test Text</span>
我试验过(很多次!)WITH PRIG_REPLACE,我似乎无法让它识别替换字符串位于‘]’之间,然后在不执行多次遍历的情况下由‘[/TOOLTIP]’分隔。
想法?
更新:就像经常发生的那样,在我写下这篇文章大约10秒后,我的一次尝试似乎奏效了。我认为它不如下面的解决方案好,但我想...$my_var .= preg_replace('/(?:[tooltip slug="([^"]*)"[^>]*]([^<]*)[/tooltip])/', '<span class="dummy">\2</span>', $my_post->post_content);
解决方案
这是您要查找的简单正则表达式。
$result = preg_replace('%[tooltip slug="[^"]*"]([^[]*)[/tooltip]%',
'<span class="dummy">1</span>', $subject);
我们在这里所做的是捕获工具提示标记之间的文本,并将其插入到替换中。 如果您需要任何详细信息,请告诉我。
相关文章