I <a>
etiketleri geride <span>
etiketleri eklemek için aşağıdaki kodu kullanıyorum.
$html = preg_replace("~<a.*?href=\"$url\".*?>.*?</a>~i", "$0<span>test</span>", $html);
Kod düzenli bağlantıları (yani http://www.google.com/) için iyi çalışıyor, ama $ url içeriği $link$/3/
olduğunuzda bir yerini gerçekleştirmez.
Bu (mis) davranışı göstermek için örnek kod:
<?php
$urls = array();
$urls[] = '$link$/3/';
$urls[] = 'http://www.google.com/';
$html = '<a href="$link/3/">Test Link</a>' . "\n" . '<a href="http://www.google.com/">Google</a>';
foreach($urls as $url) {
$html = preg_replace("~<a.*?href=\"$url\".*?>.*?</a>~i", "$0<span>test</span>", $html);
}
echo $html;
?>
Ve bu ürettiği çıktı:
<a href="$link$/3/">Test Link</a>
<a href="http://www.google.com/">Google</a><span>test</span>