1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| <?php
function toto($html)
{
$pattern = "/(<(\S+)[^>]+>)(.*)(<\/\\2>)|(<\/{0,1}(\S+)[^>]+>)/msiU";
preg_match_all($pattern,$html,$array);
//var_dump($array);
$tagATraiter = '<span class="refid-valeur char-style-override-6">';
$inter = array();
$inter2 = array();
foreach ($array[1] as $key => $value)
{
if ($value != $tagATraiter)
{
if (count($inter) > 1)
{
for($i=1;$i<count($inter);$i++)
{
$html = preg_replace('~'.$inter[$i].'~',"",$html,1);
}
$html = preg_replace('~'.$inter[0].'~',$tagATraiter.implode('',$inter2)."</span>",$html,1);
}
$inter = array();
$inter2= array();
}
else
{
$inter[] = $array[0][$key];
$inter2[] = $array[3][$key];
}
}
if (count($inter) > 1)
{
for($i=1;$i<count($inter);$i++)
{
$html = preg_replace('~'.$inter[$i].'~',"",$html,1);
}
$html = preg_replace('~'.$inter[0].'~',$tagATraiter.implode('',$inter2)."</span>",$html,1);
}
return $html;
}
$texte1 = '<div><span class="toto">titi</span><span class="refid-valeur char-style-override-6">RCR-ART-RCR-L</span><span class="refid-valeur char-style-override-6">213</span><span class="refid-valeur char-style-override-6">-1</span><span class="toto">tata</span><span class="refid-valeur char-style-override-6">AAAAA</span></div><span class="refid-valeur char-style-override-6">vvvvvv</span><span class="refid-valeur char-style-override-6">ffffff</span>';
var_dump($texte1);
var_dump(toto($texte1)); |
Partager