DOMまたは正規表現を使用してこのタイプのpタグ<p> </p>
を削除するにはどうすればよいですか?私も、このように複数のpを削除したいを削除する<p> </p> DOMまたは正規表現
、
<p> </p>
<p> </p>
<p> </p>
DOMまたは正規表現を使用してこのタイプのpタグ<p> </p>
を削除するにはどうすればよいですか?私も、このように複数のpを削除したいを削除する<p> </p> DOMまたは正規表現
、
<p> </p>
<p> </p>
<p> </p>
あなたが最も簡単かつ最速のソリューションはstr_replace()
を使用することはおそらくあり、'<p> </p>'
、常に、正確に文字列を削除する場合:
$new_string = str_replace('<p> </p>', '', $old_string);
私はこのような単純なケースのためのDOM を使用する必要はないと思う - と正規表現ですここでは必要ありません。もちろん
、あなたが何かをより複雑に交換する必要がある場合、それはあなたが希望する場合にはDOM操作;-)
preg_replace("|<p> </p>|", "", "<p> </p>
<p> </p>
<p> </p>");
ため、常に正確に同じ文字列が...まあ、それはなるだろう時間ではありませんあなたは、文字列(Demo)として 
エンティティを照会することができ、XPathので(あなたの例では、ちょうどしかしstr_replace
を要求している)ことをやりたい:あなたは、XPathで
を照会する必要がある場合、これは便利です
$html = '<body><p> </p>
<p> </p>
<p> </p>
<p>Not empty :)</p>
</body>';
$dom = new DomDocument();
$dom->loadhtml($html);
$xpath = new DomXPath($dom);
$col = $xpath->query("//p[text()=\"\xC2\xA0\"]"); #
foreach($col as $e) {
$e->parentNode->removeChild($e);
}
echo $dom->saveXML($dom->getElementsByTagName('body')->item(0));
ホープ。
にも参照してください:Using XPATH to search text containing
ません正規表現のソリューションは、ラインが固定されている場合でも、追加のスペースも、それが出力を変更しません、それを破るだろう常に速く – WooDzu
です。 –
@ WooDzu:正規表現は単純なstr_replace()より速いですか?それについてはあまり確かではありません。 –