begin process at 2012 05 29 00:48:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

"&" dans une expression régulière


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

"&" dans une expression régulière

mardi 16 octobre 2007 à 22:54:42 | "&" dans une expression régulière

Nitruk

Bonjour, il semblerait que je rencontre un problème en essayant de trouver des url, ou plus précisment des balises "url" de BBcode.
Pour adapter celles-ci en lien j'utilise la fonction ereg_replace, ainsi :

ereg_replace('\[url=([[:alnum:]\./:_&?=-]*)\]','<a href="\\1">',$texte);

Et tout celà fonctionne très bien, sauf si l'url comprise dans la balise inclut un ou plusieurs caractères "&". Dans ce cas la fonction ne reconnait pas l'expression et l'ignore. J'ai essayé de "slasher" le & de mon expression et de le passeren début de classe, sans résultat. Pourtant il ne s'agit pas a priori d'un caractère particulier...

Pour commencer j'employais ereg_replace('\[url=(.*)\]','<a href="\\1">',$texte); et ça fonctionnait très bien, sauf que la fonction ne situait la fin de l'expression qu'au dernier crochet de fermeture de $texte, ce qui ne m'intéressait pas outre mesure. ^^

Bref, si quelqu'un a une solution ou une explication à me proposer, il sera le bienvenu :)

Nitruk
mercredi 17 octobre 2007 à 16:38:19 | Re : "&" dans une expression régulière

Nitruk

Réponse acceptée !
J'ai trouvé ^^.

En réalité le problème vient de ma gestion des informations. En effet avant de pratiquer une série de expreg_replace() pour remplacer les balises BBcode par leurs équivalents HTML, je remplace les symboles comme "é", "è", les sauts de lignes et les espaces multiples par les codes HTML correspondants. On ne rencontre pas vraiment d'espaces multples ou sauts de lignes ni d'accents dans les url, mais le caractère & est lui-même remplacé par &amp; -> c'est donc le point-virgule qui gênait en réalité, et il a suffit de le prendre en compte dans mon expression régulière pour éliminer le problème.

Merci à ceux qui ont lu mon message !

Nitruk


Cette discussion est classée dans : fonction, replace, url, ereg, expression


Répondre à ce message

Sujets en rapport avec ce message

Mini Pb avec ereg_replace() [ par nicolas66 ] <a href="Bonjour @ tous les programmeurs : br Toujours pr mon forum, jessaye de mettre en place des boutons js qui font saisir à l utilisateur url et Supprimer en fonction d'une class [ par 64nemesis ] Bonjour,Voilà je cherche à supprimer tous les appels xxxxxxxxxxxxxxxxxxxxxx dans $var Peut importe ce qu'il y a  en xxxxxxxxxxxxxxxxxxxxxxxx, cela pe Passage de paramètre dans l'url (php) [ par schpice ] Bonjour tout le monde, voila j'ai un pti problème. Voila j'ai 2 fichiers en Php, l'un avec ma fonction et l'autre qui appel la fonction et je n'arrive Ereg_replace un peu a l'envers [ par syltouille ] Bonjour a tout le monde !Je voulais savoir si quelqu'un pouvait me dire comment faire un ereg_replace mais un peut different de ce que propose le vrai Probleme avec PREG_REPLACE [ par geantville ] Bonjour,Je fais un site avec redirection de lien , et totalisation ( stats) de clicsCependant alors que j'utilise :$pageDistante -> page lu sur le ser Problème avec la fonction: Preg_Replace [ par masterofquebec ] Bonjour,Je cherche a convertir le texte:"yk-15" => "Beaver Creek",enarray("yk-15", "Beaver Creek"),à l'aide de Preg_Replace mais je ne suis pas très h ereg_replace et expression réguliére [ par Valentino ] Bonjour, Je souhaite enlever tout ce qui ce trouve entre crochets [] (inclut). Voici mon problème : $chaine="blabla blabla[truc truc] machin machin PHP caractères accentués [ par gmarie08 ] Bonsoir,J'ai un formulaire qui me permet de saisir (entre autre un prénom).Aujourd'hui, j'ai eu le cas d'un "rené".Ce caractère accentué me pourrit la utiliser une fonction dans preg_replace() [ par Rabba ] Hello! J'aimerais utiliser une fonction dans preg_replace comme suit:     preg_replace('/\[html\](.*)\[\/html\]/Us',strtoupper('$1'),$Data); le pro


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales