wordpress网站通过主题下的functions.php进行关键词替换,如何使用通配符?

代码:

'香港共享ip300m' => '99元一年',
'香港独立ip300m' => '199元一年',
'香港php主机' => '免备案',
);
function wp_KeyWordsFilter($content) {
global $KeyWordsFilterAds;
$content = strtr($content, $KeyWordsFilterAds);
return $content;
}
add_filter('the_content', 'wp_KeyWordsFilter'); //替换文章关键词

如上代码,

香港共享ip300m 替换为 99元一年,如果 香港共享ip300m后面还有不同内容如何一起批量替换?
试过了加通配符 * 或者(*),都不好使。

您可以使用正则表达式来进行通配符匹配。将 '香港共享ip300m' 替换为 '99元一年' 的代码如下:

$KeyWordsFilterAds = array(
    '/香港共享ip300m.*/' => '99元一年',
    '/香港独立ip300m/' => '199元一年',
    '/香港php主机/' => '免备案',
);

function wp_KeyWordsFilter($content) {
    global $KeyWordsFilterAds;
    $content = preg_replace(array_keys($KeyWordsFilterAds), array_values($KeyWordsFilterAds), $content);
    return $content;
}
add_filter('the_content', 'wp_KeyWordsFilter');

这样就可以一起批量替换了。注意,这里使用的是 preg_replace 函数,第一个参数是一个数组,包含正则表达式和替换文本,其中正则表达式最后加上了 .*,匹配任意字符,实现通配符匹配功能。