PHP 5.3.0 et les regexps

8 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

En utilisant PHP5 sur wampserver, j'obtiens le message suivant :

Function ereg() is deprecated

et je m'aperçois effectivement que cette fonction est obsolète et remplacée par preg_match

sauf qu'il faut en plus ajouter un / avant les '

bref, en remplaçant, ça fonctionne sauf que par exemple la ligne du dossier class/multipage/multipage.class.php suivante :

$search = ereg("(<#LOOP>.*</#LOOP>)", $str, $result);

par

$search = preg_match("/(<#LOOP>.*</#LOOP>)/", $str, $result);

j'obtiens un message d'erreur sur le # :

preg_match() [function.preg-match]: Unknown modifier '#'

Quelqu'un aurait une idée par quoi il faut remplacer le # pour que ça fonctionne ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonsoir,

J'ai un autre problème avec le php5 et le fichier .htaccess qui empêche la visibilité dans wampserver.

Il faut que je le supprime pour ouvrir le site, sinon j'ai le message d'erreur suivant :

.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration, referer: http://localhost/

or j'ai bien ajouté un # sur la ligne rewrite_module

Est-ce que quelqu'un a déjà utilisé le PHP5 avec la version premium 5 ?

Et pourrait me dire si c'est bien dans le fichier httpd.conf qu'il faut modifier les modules actifs ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour serialmother,

Pour permettre la réécriture d'URL en local, il faut activer sur votre serveur Apache le mod rewrite (Apache > Modules Apache > Rewrite Module), et non travailler directement sur le .htaccess

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour Jean-Hervé,

Ah oui, ça fonctionne comme ça... merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Pas de quoi ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Serait-ce abuser que de demander ce qu'il faut faire du # ?

dans le remplacement du ereg par preg_match ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonsoir serialmother,

j'aurais bien tenté de remplacer :

$search = ereg("(<#LOOP>.*</#LOOP>)", $str, $result);

par

$pattern = '/<#LOOP>.*<\/#LOOP>/';

preg_match($pattern, $str, $result);

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Je précise que ça ne concerne que la nouvelle version de PHP5 : la 5.3

En effet dans cette version 5.3 il y a des nouveautés pour préparer l'arrivée de PHP6, et ereg continue à marcher mais donne une notice de type : E_DEPRECATED qui averti qu'il est conseillé dorénavat d'utiliser les preg et non plus les ereg.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping