Reputation: 506
$x = 'A fox was <a href="/xyz/dancingwith">Dancing with</a> light. The night <a href="/xyz/treeare">tree are</a> growing.';
I want to become this
$x = 'A fox was <a href="/xyz/dancing-with">Dancing with</a> light. The night <a href="/xyz/tree-are">tree are</a> growing.';
i want to replace all
<a href="xyz">x y z</a> to <a href="x-y-z">x y z</a>
or
<a href="xaybzc">xA yB zC</a> to <a href="xa-yb-zc">xA yB zC</a>
I want to become this
Please Help me.
Upvotes: 0
Views: 81
Reputation: 56
<?php
$x = 'A fox was <a href="/xyz/dancingwith">Dancing with</a> light. The night <a href="/xyz/treeare">tree are</a> growing.';
$doc = new DOMDocument;
$doc->loadHTML($x);
$anchors = $doc->getElementsByTagName('a');
$len = $anchors->length;
for($i = 0; $i < $len; $i++) {
$newPath = preg_replace('/\s+/', '-',strtolower($anchors->item($i)->nodeValue));
$oldHref = $anchors->item($i)->getAttribute('href');
$url = explode('/', $oldHref);
array_pop($url);
array_push($url, $newPath);
$newUrl = implode('/', $url);
$anchors->item($i)->setAttribute('href', $newUrl);
}
$newHTML = $doc->saveHTML();
echo $newHTML;
Upvotes: 2