- preg_match: documentation ( source)
<?php
$document = <<<XML
<div>
<para>text not to match</para>
<para>Other line #my_pattern_to_match#, hello world</para>
<block>
<para>Second test #other_pattern_to_match# in a sub child node</para>
</block>
</div>
XML;
$dom = new DOMDocument;
$dom->loadXML($document);
$paras = $dom->getElementsByTagName('para');
foreach($paras as $para){
if(preg_match('/#(.*?)#/', $para->nodeValue, $match)){
echo $match[1] . PHP_EOL;
}
}