我正在尝试使用\\u内容过滤器和preg_replace()
. 我已经在regexr上测试了我的regex表达式。com,它也能工作我用过print_r()
测试是否正在调用函数,但由于某些原因,链接在实践中没有更改。
这是我遇到问题的代码
add_filter(\'the_content\', \'linkAppend\');
function linkAppend($content) {
global $referalString;
preg_replace(\'/\\/\\/(www|launch)?\\.?(solarwinds\\.com)\\/[^"]*/g\',\'$&?cmp=\'.$referalString, $content);
return $content;
}
如果有人能给我指出正确的方向,或者告诉我哪里出了错,我将不胜感激。
SO网友:mrben522
原来我有多个问题,@bonger指出了第一个问题,然后我发现并解决了正则表达式上的全局标志在php中无效的问题,并且我没有说明没有/
在.com
. 最终修复如下所示:
add_filter(\'the_content\', \'linkAppend\');
function linkAppend($content) {
global $referalString;
$content = preg_replace(\'/\\/\\/(www|launch)?\\.?(solarwinds\\.com)\\/?[^"]*/m\',\'$0?cmp=\'.$referalString, $content);
return $content;
}