Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1455 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Modification dans des tags (expressions régulières)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Modification dans des tags (expressions régulières)

n°1577633
Fantomas26
Posté le 21-06-2007 à 14:12:15  profilanswer
 

Bonjour,
 
Je me bats depuis pas mal d'heures avec les regexp, voici mon probleme :
 
J'ai une chaine avec plusieurs :
 
http://www.monsite.com/nom_image.gif
 
Et je dois remplacer chaque occurence avec ca :
 
<img src="http://www.monsite.com/nom_image.gif" align="alignement" border="0">
 
où alignement represente right, left ou center
 
 
 
Merci a ceux qui pourront m'aider ou m'aiguiller.
 
Martin

mood
Publicité
Posté le 21-06-2007 à 14:12:15  profilanswer
 

n°1577639
anapajari
s/travail/glanding on hfr/gs;
Posté le 21-06-2007 à 14:18:45  profilanswer
 

ok et t'en es ou pour l'instant? Fais voir ta regex sinon ça va pas être facile!
 

Spoiler :

sinon tu as déjà pleins de fonctions de conversion type bb-code à dispo sur le net, ça irait ptêt plus vite :o

n°1577721
Fantomas26
Posté le 21-06-2007 à 16:49:47  profilanswer
 

Bé, j'ai tellement fait d'essais que je ne sais plus où j'en suis.

n°1577726
anapajari
s/travail/glanding on hfr/gs;
Posté le 21-06-2007 à 16:57:12  profilanswer
 

prends n'importe lequel et dis nous ce qui allait pas avec!

n°1577752
Fantomas26
Posté le 21-06-2007 à 18:02:58  profilanswer
 

Voilà, j'avais trouvé ça :
 

Spoiler :

<?php
function bbcode($m) {
    switch($m[1]) {
        // balise <code>
        case 'code' :
           return '<div class="code"><pre>'.htmlentities($m[2]).'</pre></div>';  
        break;
        // balise <url>
        case 'url' :
          if (preg_match ('`^http://`', $m[2]))
            return '<a href="'.$m[2].'" class="machin">'.$m[2].'</a>';
          else
            return '<a href="http://'.$m[2].'" class="machin">'.$m[2].'</a>';  
        break;
        // balsie <img>
        case 'img' :
        return '<img src="'.$m[2].'" align="alignement"/>';
    }
}
$str = "mon site web préféré est: http://www.laboiteaprog.com/img/logo.png";
$str = preg_replace_callback('`\[(code|url|img)\](.+?)\[/\1\]`si', 'bbcode', $str);
 
echo $str;
 
?>


 
Ca marche nickel, mais dans le texte j'ai des [img align="alignement"]...
 
Il faudrait donc que je récupère en plus la valeur de 'alignement', le résultat final devrait être :
 
<img src="http://www.laboiteaprog.com/img/logo.png" align="alignement">

n°1577754
Fantomas26
Posté le 21-06-2007 à 18:06:56  profilanswer
 

Zut une ligne a été interprétée :
 
la variable $str est :
 
$str = "mon site web préféré est: (img)http://www.laboiteaprog.com/img/logo.png(/img)";
 
Remplacer les '()' par des '[]'

n°1577755
Fantomas26
Posté le 21-06-2007 à 18:08:14  profilanswer
 

Enfin plutôt :
 
$str = "mon site web préféré est: (img align="alignement" )http://www.laboiteaprog.com/img/logo.png(/img)";

n°1577955
Fantomas26
Posté le 22-06-2007 à 11:44:54  profilanswer
 

Résolu.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Modification dans des tags (expressions régulières)

 

Sujets relatifs
modification xml par dom[RESOLU] PHP Modification
Modification de donnée par PHPReplace sans modification de la chaine
modification de base de données ISAMmodification d'un type de champ a partir d'une application..?
[ASP .NET] Modification Champs + GridView[resolu] Mise à jour si modification d'une feuille
[VBS] Modification permissions et groupe sécuritéinclude() et meta tags
Plus de sujets relatifs à : Modification dans des tags (expressions régulières)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR