Si vous ne pouvez pas stocker en bdd le traitement et que vous souhaitez modifier seulement un texte sur 2, voici la version :
Code:
<?php
function MajBL($subject){
/* http://oseox.fr/blog/index.php/1002-script-pingouin */
$pattern = '#<a href=(.*)>(.*)</a>#siU';
preg_match_all($pattern, $subject, $matches);
$cpt=0;
while(isset($matches[0][$cpt]))
{
$mot=$matches[2][$cpt];
$url=$matches[1][$cpt];$url=str_replace("\"","",$url);
$lienaremplacer=$matches[0][$cpt];
$replace="$mot (<a href=\"$url\">$url</a>)";
$taille=strlen($_SERVER['REQUEST_URI']);
if($taille%2 == 1)
{
$subject=str_replace($lienaremplacer,$replace, $subject);
}
$cpt++;
}
return $subject;
}
$subject = 'Une <a href="http://www.google.fr">superbe</a> phrase <a href="http://www.yahoo.fr">avec</a> 3 liens à <a href="http://www.bing.fr">remplacer</a>';
print("Avant : $subject <br/>");
$subject2 = MajBL($subject);
print("Apres : $subject2");
?>