Ben metin bir dize almak ve hiper bağlantı etiketleri tüm bulmak, onların href değeri kapmak ve href özniteliği değeri ile tüm hiper bağlantı etiketini değiştirmek istiyorum.
Birçok olasılık. Örneğin (getElementsByTagName () bu durumda yeterli olacaktır rağmen) DOM extension, DOMDocument::loadhtml() ve XPath kullanılarak gerçekleştirilir.
<?php
$string = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd"><html><head><title>...</title></head><body>
<p>
mary had a <a href="little">greedy</a> lamb
whose fleece was <a href="white">cold</a> as snow
</p>
</body></html>';
$doc = new DOMDocument;
$doc->loadhtml($string);
$xpath = new DOMXPath($doc);
foreach( $xpath->query('//a') as $a ) {
$tn = $doc->createTextNode($a->getAttribute('href'));
$a->parentNode->replaceChild($tn, $a);
}
echo $doc->savehtml();
baskılar
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head><title>...</title></head>
<body><p>
mary had a little lamb
whose fleece was white as snow
</p></body>
</html>