1
在后续我以前question不更换,我想有以下格式的链接,以取代ALL-CAPS *字的每一个实例:的preg_replace在WordPress插件
dictionary.com/browse/<TERM>
的preg_replace
呼叫我使用的是这样的:
$content = preg_replace('#[A-Z][A-Z]+#', '<a href="//dictionary.com/browse/$1">$1</a>', $content);
使用http://gskinner.com/RegExr,看来我有我的正则表达式正确的,它应该上每个鳍片被更换d。
我是否在执行preg_replace
调用或者将插件/过滤器注册到Wordpress API时发生了错误?
通话完全上下文:
function define_filter($content){
$content = preg_replace('#[A-Z][A-Z]+#', '<a href="//dictionary.com/browse/$1">$1</a>', $content);
}
add_filter('the_content', 'define_filter');
*我使用的[A-Z][A-Z]+
语法,以确保我不匹配,如 “I” 和 “A”
'\ b'的补充帮助......现在它取代了这个链接,但不会追加'$ 1'的比赛形式。任何进一步的想法都有可能? – warren 2010-08-10 01:59:43
我没有注意到:你想'$ 0'(整个匹配),而不是'$ 1'(你的正则表达式没有的第一个捕获组)。 – 2010-08-10 02:26:31
这就是我一直在寻找的!谢谢,艾伦 – warren 2010-08-10 02:46:53