<?php
$str = "Venez découvrir Rose Palace dans le Parc du Domaine de Vizille. L'artiste-plasticienne Viviane Rabaud noue, assemble, recompose à travers des gestes simples et répétitifs. Elle joue avec les matières, dialogue avec le lieu à travers son axe de travail : le tissage...
Avec la métamorphose Rose Palace, elle interroge l'histoire et s'approprie le symbole de la Bastille.";
$str = htmlspecialchars($str, ENT_QUOTES, 'UTF-8');
$str = str_replace("\n", '<br>', $str);
$array = array('m' => array('TITLE' => 'mètre(s)','LANG' => 'fr', 'TAGNAME' => 'abbr'));
echo '<pre>' ;
foreach ($array as $key => $value) {
switch ($key) {
case '%' :
$str = preg_replace('/(?!(<[^>]+))(%)(?!([^<]*>))/ums', '$1<' . $value['TAGNAME'] . ' lang="' . $value['LANG'] . '" title="' . htmlspecialchars($value['TITLE'], ENT_QUOTES, 'UTF-8') . '">$2</' . $value['TAGNAME'] . '>$3', $str);
break;
case '@' :
$str = preg_replace('/(?!(<[^>]+))(@)(?!([^<]*>))/ums', '$1<' . $value['TAGNAME'] . ' lang="' . $value['LANG'] . '" title="' . htmlspecialchars($value['TITLE'], ENT_QUOTES, 'UTF-8') . '">$2</' . $value['TAGNAME'] . '>$3', $str);
break;
default :
$str = preg_replace('/(?!(<[^>]+))(\b' . htmlspecialchars($key, ENT_QUOTES, 'UTF-8') . '\b)(?!([^<]*>))/ums', '$1<' . $value['TAGNAME'] . ' lang="' . $value['LANG'] . '" title="' . htmlspecialchars($value['TITLE'], ENT_QUOTES, 'UTF-8') . '">$2</' . $value['TAGNAME'] . '>$3', $str);
break;
}
}
var_dump($array);
echo '</pre>' ;
echo $str ;
?>
preferences:
55.35 ms | 402 KiB | 5 Q