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 :

Modifier un lien a href [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Par défaut Modifier un lien a href
    Bonjour à tous,
    J'ai une petite problèmatique pour modifier des liens a href.
    J'ai un back-office pour mes clients où il peuvent ajouter des liens vers des fichiers vidéos. Cela créé un lien du style :
    <a href="mavideo.flv">mavideo</a>

    J'aimerais pouvoir dynamiquement en php modifier ce lien en :
    <a rel="shadowbox" href="mavideo.flv">mavideo</a>

    comment faire ?
    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Par défaut
    j'avance dans mon problème :
    j'ai mis en place ceci qui marche bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $test = "blabla <a href=\"http://www.test.com\">texte lien</a> texte qui reste <a href=\"http://www.test2.com\">lien texte 2</a> texte qui reste ";
    $test = eregi_replace("<a href", "<a rel=\"shadowsbox\" href", $test);
    echo $test;
    mais comment appliquer cela seulement aux liens qui se terminent pas .flv
    ex :
    <a href="http://www.test2.com/videos/video.flv">lien texte 2</a>

    merci

  3. #3
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    Il est préférable d'utiliser les expressions régulières PCRE plutôt que POSIX :
    http://php.net/pcre

    Ce qui donnerait pour faire ce que tu souhaite quelque chose comme (non testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $test = preg_replace('#<a href="(?=[^">]*.flv")#U', '<a rel="shadowsbox" href="', $test);

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $extensionVideosOk = array("wmv");
    $test = "blabla <a href=\"http://www.test.com/videos/video.flv\">texte lien</a> texte qui reste <a href=\"http://www.test.com/videos/video.mov\">lien texte 2</a> texte qui reste ";
    	for($i=0; $i<count($extensionVideosOk); $i++){
    	$test = preg_replace('#<a href="(?=[^">]*.'.$extensionVideosOk[$i].'")#U', '<a rel="shadowsbox" href="', $test);
    	}
    echo $test;

    est-ce que cela est correct de faire cela si on veut vérifier plusieurs extensions ?
    Merci

  5. #5
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Oui, ça fonctionnera, mais tu as plus rapide avec implode (à tester toujours ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $test = preg_replace('#<a href="(?=[^">]*.(?:'.implode('|', $extensionVideosOk).')")#U', '<a rel="shadowsbox" href="', $test);

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 118
    Par défaut
    ok
    mais pouvez-vous m'expliquez un peu votre règle (si vous avez 5 minutes), je suis un peu perdu.
    Ca marche mais si je ne comprends pas tout çà ne sert pas à grand chose .

    Merci

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

Discussions similaires

  1. [CKEditor] Modifier la création des liens <a href.. dans l'UI
    Par franquis dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 26/04/2010, 19h24
  2. POST par un lien a href
    Par Pfeffer dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/06/2006, 09h55
  3. lien HTML HREF avec parametres
    Par dehbi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 19/03/2006, 04h56
  4. modifier couleur lien
    Par linniesurf dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/12/2005, 12h55
  5. lien popup href défini dans javascript mé pas visibdans page
    Par Yoyo_galère dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 13/01/2005, 15h43

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