[PHP] Preg replace
Utilisateur anonyme
-
Krozer -
Krozer -
Bonjour,
Voici un script que j'ai téléchargé :
En fait, il est censé afficher le texte de la variable texte, mais à la place, il affiche :
Pourriez-vous m'aider à faire fontionner ce maudit script ?
Merci et aurevoir, seb
Voici un script que j'ai téléchargé :
<?php function commentaire_final() { $text = ':) :( X-( [u][email]webmaster@mon_site.com[/email] [/u]'; include('smiley.conf.php'); /* coupe les longue chaine de caracteres */ $chaine_texte = preg_replace('/([^ ]{100})/si','\\1'.' ', $text); /* traitement des liens */ $chaine_texte = stripslashes(nl2br(htmlspecialchars($chaine_texte))); $chaine_texte = ereg_replace("\[url\]http://([^>]*)\[/url\]", "<A class=minilien HREF=\"http://\\1\" TARGET=\"_blank\">\\1</A>", $chaine_texte); $chaine_texte = ereg_replace("\[email\]([^>]*)\[/email\]", "<A class=minilien HREF=\"mailto:\\1\" TARGET=\"_blank\">\\1</A>", $chaine_texte); $chaine_texte = ereg_replace("\[b\]([^>]*)\[/b\]", "<b>\\1</b>", $chaine_texte); $chaine_texte = ereg_replace("\[i\]([^>]*)\[/i\]", "<i>\\1</i>", $chaine_texte); $chaine_texte = ereg_replace("\[u\]([^>]*)\[/u\]", "<u>\\1</u>", $chaine_texte); /* compatibiliter avec l'ancien mode de lien */ $chaine_texte = preg_replace("/<((http|https|ftp):\/\/[a-z0-9;\/\?:@=\&\$\-_\.\+!*'\(\),]+?)>/i", "<a class=minilien target=_blank href=\"$1\">$1 </a>", $chaine_texte); souriez($chaine_texte); } commentaire_final(); ?>
En fait, il est censé afficher le texte de la variable texte, mais à la place, il affiche :
'; $chaine_texte = str_replace($souriez[$i][0], $chaineImage, $chaine_texte); } echo $chaine_texte; } ?> Deprecated: Function ereg_replace() is deprecated in C:\wamp\www\csforum90\test.php on line 10 Deprecated: Function ereg_replace() is deprecated in C:\wamp\www\csforum90\test.php on line 11 Deprecated: Function ereg_replace() is deprecated in C:\wamp\www\csforum90\test.php on line 12 Deprecated: Function ereg_replace() is deprecated in C:\wamp\www\csforum90\test.php on line 13 Deprecated: Function ereg_replace() is deprecated in C:\wamp\www\csforum90\test.php on line 14 Fatal error: Call to undefined function souriez() in C:\wamp\www\csforum90\test.php on line 18
Pourriez-vous m'aider à faire fontionner ce maudit script ?
Merci et aurevoir, seb
A voir également:
- [PHP] Preg replace
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
Bonjour,
Alors, les explications : le script téléchargé est un vieux machin qui n'est plus à jour, et la fonction en question est considérée comme obsolète.
Tu as deux possibilités :
Soit tu dis à php de fonctionner quand même
Soit tu remets le script au goût du jour.
La documentation de php.net (https://www.php.net/manual/fr/function.ereg-replace.php dit à ce sujet :
Note:
À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type E_DEPRECATED. Voir la liste des différences pour vous aider dans la conversion en PCRE.
Xavier
PS : Tu peux aussi masquer les erreurs de type Deprecated de façon ponctuelle juste avant ton script :
ini_set("error_reporting", "E_ALL ^ E_DEPRECATED");
Ça devrait fonctionner.
Alors, les explications : le script téléchargé est un vieux machin qui n'est plus à jour, et la fonction en question est considérée comme obsolète.
Tu as deux possibilités :
Soit tu dis à php de fonctionner quand même
Soit tu remets le script au goût du jour.
La documentation de php.net (https://www.php.net/manual/fr/function.ereg-replace.php dit à ce sujet :
Note:
À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type E_DEPRECATED. Voir la liste des différences pour vous aider dans la conversion en PCRE.
Xavier
PS : Tu peux aussi masquer les erreurs de type Deprecated de façon ponctuelle juste avant ton script :
ini_set("error_reporting", "E_ALL ^ E_DEPRECATED");
Ça devrait fonctionner.