IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

problème d'array / regex [Débutant(e)] [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Par défaut problème d'array / regex
    Voila , j'aimerais que les smiley dans mes articles s'affiche et j'ai une erreur lamentable qui m'est arrivé en pleine face.

    Aprés quelques modif acharnée je m'en remet à vous

    Voici mon code, pour l'instant qu'un smiley pour tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $smilies = array('^_^');
    $smilies_url = array('yep.gif');
    foreach($smilies as $smilie){
    	$text = preg_replace('(\s|\r|^|&gt;)'+$smilie[i]+'(\s|\r|^|&gt;)', '$1<img src="image/smiley/'+$smilies_url[i]+'" alt="Smiley" class="smilies" />$2',$text);
    }
    et l'erreur :

    preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash
    je pense foirer dans la regex a cause d'une erreur de manip du foreach...

    Merci d'avance pour l'aide apporté.

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    La concaténation en php, c'est le . pas le +

    Ou sont les délimiteurs du motif de recherche ?

  3. #3
    Membre confirmé Avatar de Sarrus
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mai 2005
    Messages : 180
    Par défaut
    l'erreur du preg_replace, litteralement : le délimiteur (séparateur) ne peut pas etre alphanumerique ou backslash

  4. #4
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    preg_replace("#(\s|\r|^|&gt;)$smilie[i](\s|\r|^|&gt;)#", '$1<img src="image/smiley/'.$smilies_url[i].'" alt="Smiley" class="smilies" />$2',$text);
    }
    C'est pas sûr que ça marche (je fais vite) mais y aura du mieux

  5. #5
    Membre chevronné Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Par défaut
    rah le boulet, ça m'apprendra a vouloir passer a la va vite de mon code javascript a un code php >_<

    j'ai testé ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $smilies = array('^_^');
    		$smilies_url = array('yep.gif');
    		foreach($smilies as $smilie){
    			preg_replace("#(\s|\r|^|&gt;)".$smilie[i]."(\s|\r|^|&gt;)#", '$1<img src="image/smiley/'.$smilies_url[i].'" alt="Smiley" class="smilies" />$2',$text);		
    		}
    pas d'erreur mais sa remplace pas ^_^ dans ma chaine par l'image :/

  6. #6
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    smilie n'est pas un tableau, pourquoi mettre $smilie[i] ?

  7. #7
    Membre chevronné Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Par défaut
    erreur de ma part

    j'ai enlever le [i] mais sa marche toujours pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Problème d'array dynamique
    Par Peacecraft95 dans le forum Langage
    Réponses: 6
    Dernier message: 26/07/2006, 15h24
  2. [RegEx] Problème avec les regex
    Par dragon noir dans le forum Langage
    Réponses: 3
    Dernier message: 24/07/2006, 11h26
  3. Problème avec une RegEx
    Par Death83 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 26/05/2006, 14h03
  4. Problème+for+array+get
    Par xmane85 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/05/2006, 17h35
  5. Problème d'array...
    Par Empty_body dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/04/2006, 08h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo