- strpos: documentation ( source)
<?php
$xml = <<<'XML'
<nitf:body.content xmlns:nitf="foo">
<nitf:block>
<nitf:p style="@style1">Contents of paragraph1.</nitf:p>
<nitf:p style="@style2">Contents of paragraph2.</nitf:p>
<nitf:p style="@style1"><nitf:em class="@bold">This is bold</nitf:em> This is not bold</nitf:p>
<nitf:p style="@style1"><nitf:em class="@italic">This is italic</nitf:em> This is not italic</nitf:p>
</nitf:block>
</nitf:body.content>
XML;
$nitfNS = "foo";
$doc = new DOMDocument();
$doc->loadXML($xml);
foreach($doc->getElementsByTagNameNS($nitfNS, 'em') as $em) {
$class = $em->getAttribute('class');
if ($class == '@italic') {
$em->nodeValue = '<i>' . $em->nodeValue . '</i>';
}
elseif (strpos($class, 'bold') !== FALSE) {
$em->nodeValue = '<b>' . $em->nodeValue . '</b>';
}
echo $doc->saveXML($em), "\n";
}
foreach ($doc->getElementsByTagNameNS($nitfNS, 'p') as $element) {
$textnode = $element->childNodes->item(0);
echo $textnode->textContent, "\n";
}
echo $doc->saveXML();