将preg_place()与_Content筛选器一起使用

时间:2015-12-03 作者:mrben522

我正在尝试使用\\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;
}   
如果有人能给我指出正确的方向,或者告诉我哪里出了错,我将不胜感激。

1 个回复
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;
}   

相关推荐

Apply_Filters(‘the_content’,$Content)与DO_ShortCode($Content)

假设我有一个主题选项或自定义的postmeta文本区域。现在我想执行多个短代码、一般文本、图像等。最佳实践是什么?为什么?选项1:$content = //my text area data; echo apply_filters(\'the_content\', $content); 选项2:$content = //my text area data; echo do_shortcode($content); 请告诉我哪一个是最佳实践,以及为什么。EDIT让我详细描