我使用PHP简单的html dom解析器库,并且仅想用[WORD FIND HERE]替换所有“ manteau”词.这是我下面的代码,不适用于不在标签中的单词.它仅在Strong标签中与单词“ manteau”一起使用.如何解析所有节点文本?
注意:str_replace不是解决方案.此处需要使用DOM PARSER.我不想在锚或图像标签中选择单词.
require_once '../simple_html_dom.php';
$html = new simple_html_dom();
$html = str_get_html('Un manteau permet de tenir chaud. Ce n\'est pas
un porte-manteau. Venez découvrir le nouveau
manteau du porte-manteau.
Tout savoir sur le Manteau
Le manteau est un élèment important à ne pas négliger.
Pas comme le porte-manteau.
');
$nodes = $html->find('*');
foreach($nodes as $node) {
if(strpos($node->innertext, 'manteau') !== false) {
if($node->tag != 'a')
$node->innertext = '[WORD FIND HERE]';
}
}
}
echo $html->outertext;
?>
解决方法:
$html = str_replace('manteau', 'rubber chicken', $html);
echo $html;
标签:html,php,dom
来源: https://codeday.me/bug/20191012/1904223.html