Я использую xpath для удаления <p> </p>
$nodeList = $xpath->query("//p[text()=\"\xC2\xA0\"]"); # foreach($nodeList as $node) { $node->parentNode->removeChild($node); }
но он не удаляет это,
<p><strong><br /> </strong></p>
или такого рода,
<p><strong> </strong></p>
Как я могу их удалить?
Или, может быть, регулярное выражение, которое я должен использовать?
Попробуйте
$nodeList = $xpath->query("//p[normalize-space(.)=\"\xC2\xA0\"]"); # foreach($nodeList as $node) { $node->parentNode->removeChild($node); }
Цитирование из документов
Функция
normalize-space
возвращает строку аргумента с пробелом, нормализованным путем удаления начального и конечного пробелов и замены последовательностей символов пробелов на единое пространство.