我使用PHP簡單的html dom解析器庫,我只想用[WORD FIND HERE]替換所有'manteau'單詞。這是我的代碼,下面的代碼不適用於不在標籤中的單詞。它只能在強標籤內使用「manteau」這個詞。如何解析所有節點文本?PHP簡單的html dom解析器 - 查找單詞
注意: str_replace不是解決方案。 DOM PARSER需要在這裏使用。我不想選擇錨點或圖片標籤中的單詞。
<?php
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 <a href="pages/manteau">nouveau
manteau</a> du porte-manteau.
<h1>Tout savoir sur le Manteau</h1>
<p>
Le <strong>manteau</strong> est un élèment important à ne pas négliger.
Pas comme le porte-manteau.
</p>
<img src="path-to-images-manteau" title="Le manteau est beau">');
$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;
?>
解析聽起來有點像這裏只是更換字矯枉過正。爲什麼不使用'str_replace' – lumio
dom操作需要在這裏使用。我不想選擇錨定字或圖像標記 –
我明白了。那麼使用解析是個好主意。我想你也可以使用正則表達式。 (* s/a矯枉過正/矯枉過正/) – lumio