Regex qui fonctionne en local mais pas sur le serveur
Bonjour
Je demande votre aide pour résoudre un probleme dont je ne connais pas l'origine:
J'ai un code qui fonctionne bien en local (win xp) avec wamp ou easyphp, le voici:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <?php
header('Content-Type: text/html; charset=UTF-8');
mb_internal_encoding("UTF-8");
if (isset($_POST['lemot']) && !empty($_POST['lemot']))
{
$lemot = $_POST['lemot'];
$letexte = "Un texte avec acçents une ligné une épingle un égaré un désastre un dés";
$remplacement = " <a href=\"www.unsite.org\" target=\"_blank\">$lemot</a> ";
$nouvtexte = preg_replace('#\b' .$lemot. '\b#ui', $remplacement, $letexte);
echo "$nouvtexte";
}
else
{
echo "variable vide !!<br />";
}
echo "<br /><a href=\"index2.php\">Retour</a>";
?> |
Ce code me permet de prendre un mot, ou groupe de mots, dans le texte et d'en faire un lien cliquable.
Mes scripts et mes pages d'affichage sont encodés en UTF-8 avec notepad++
Hélas chez mon hébergeur ça ne fonctionne pas avec les mots commencants ou finissants avec une lettre accentué par exemple= ligné ou égaré !! :-(
Si le mot comporte une lettre accentué a l'intérieur ça fonctionne par exemple= désastre
La regex ne reconnait pas les mot commençant ou finissants par un caractère spécial !!
En local avec wamp la version de php est: 5.1.6
Sur mon hébergement (online) la version de php est: 4.4.9-1
je ne sais pas si cela peut y faire
Merci d'avance pour vos suggestions
Mathieu