Удалите <p> <strong> <br /> & nbsp; </ strong> </ p> с помощью XPATH

Я использую xpath для удаления <p>&nbsp;</p>

  $nodeList = $xpath->query("//p[text()=\"\xC2\xA0\"]"); # &nbsp; foreach($nodeList as $node) { $node->parentNode->removeChild($node); } 

но он не удаляет это,

 <p><strong><br /> &nbsp;</strong></p> 

или такого рода,

 <p><strong>&nbsp;</strong></p> 

Как я могу их удалить?

Или, может быть, регулярное выражение, которое я должен использовать?

Попробуйте

 $nodeList = $xpath->query("//p[normalize-space(.)=\"\xC2\xA0\"]"); # &nbsp; foreach($nodeList as $node) { $node->parentNode->removeChild($node); } 

Цитирование из документов

Функция normalize-space возвращает строку аргумента с пробелом, нормализованным путем удаления начального и конечного пробелов и замены последовательностей символов пробелов на единое пространство.