Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用PHP、Wordpress查找并替换Html中的文本_Php_Wordpress - Fatal编程技术网

用PHP、Wordpress查找并替换Html中的文本

用PHP、Wordpress查找并替换Html中的文本,php,wordpress,Php,Wordpress,我需要从Wordpress站点的所有页面中查找并替换文本。此文本也显示在标题中,我在functions.php中尝试了此操作,但不起作用: function replace_text($text) { $text = str_replace('word1', 'word2', $text); return $text; } add_filter('the_content', 'replace_text'); 有人能帮忙吗? 谢谢您必须在函数定义中的函数调用中传递精确的参数, 像调用函数名一样

我需要从Wordpress站点的所有页面中查找并替换文本。此文本也显示在标题中,我在functions.php中尝试了此操作,但不起作用:

function replace_text($text) {
$text = str_replace('word1', 'word2', $text);

return $text;
}
add_filter('the_content', 'replace_text');
有人能帮忙吗?
谢谢

您必须在函数定义中的函数调用中传递精确的参数, 像调用函数名一样调用函数

$data = "sdfsdfdsfwf"
$result = replace_text('find what you want to replace', 'replace with', $data);
echo $result;
然后在函数名的定义中与方法调用相同,参数计数与方法调用中相同

function replace_text($find, $replace, $data) {
   $text = str_replace($find, $replace, $data);

   return $text;
}
返回的结果包含替换的字符串


想了解更多关于str_replace的信息,请检查此

文本在哪里?在数据库中,是PHP还是HTML文件?你希望达到什么目的,即当你发现所述文本时,你希望发生什么?忽略任何表示你没有提供足够信息的评论/非WP答案。在我看来,问题在于您没有将优先级参数添加到过滤器的末尾,而其他东西正在干扰它。看到这个答案,添加优先级99@McNab如果这个用户想在整个网站上替换“the”这个词怎么办?这不是解决问题的好办法。正确的方法是找出为什么会有任何额外的文本,并以适当的方式将其删除。作者应该向我们提供更多的信息。@McNab,我试过你说的,但没有用。@unbirth-我同意你的观点,这取决于用例。Ie用于复杂过滤内容dom解析-。但这里的问题是“为什么不工作?”。您刚刚从另一个函数调用了str_replace。。什么