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

  FORUM HardWare.fr
  Programmation
  PHP

  Mot manquant REGEX !!!

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mot manquant REGEX !!!

n°1875509
ilundar
Posté le 20-04-2009 à 18:54:14  profilanswer
 

Bonjour,
 
j'aurai besoin de remplacer toutes les images contenues dans une variable pour les remplacer par des liens, savez vous comment faire ?
 
Pour les enlever entièrement j'ai pensé à quelque chose comme ça : $test=str_replace('<img src="*" width="*" height="*" alt="*" />', "", $tutoriel['texte']);
Avec pour chaque * un mot manquant, mais en fait ça ne marche pas.

mood
Publicité
Posté le 20-04-2009 à 18:54:14  profilanswer
 

n°1875800
olivthill
Posté le 21-04-2009 à 12:16:04  profilanswer
 

Si vous lisez la documentation de str_replace http://fr3.php.net/manual/en/function.str-replace.php alors vous vous rendrez compte que le première paramètre n'est pas le "sujet", mais est le "search", en l'occurence "*" ; que le second paramètre n'est pas une chaine vide mais est le "replace", en l'occurence le mot manquant, qui est $tutoriel['texte'] si j'ai bien compris : que le troisième paramètre est le "sujet", en l'occurence "<img...".
 
De plus, il n'y a pas que le nom de ficier à remplacer, mais aussi les dimensions de l'image. Cela pourrait se faire en même temps que la substitution du nom de l'image si on utilisait un tableau, mais c'est une solution qui parait plus compliquée que de faire trois petits remplacements.
 
Par ailleurs, l'étoile est un caractère spécial, qu'il vaut mieux éviter dans votre cas. Je le remplacerais par une chaine de caractère qui serait par exemple "nomfichier".
 
Donc, essayer avec :

$test=str_replace("nomfichier", $tutoriel['texte'], '<img src="nomfichier" width="largeur" height="hauteur" alt="nomfichier" />');
$test2=str_replace("largeur", $largeur, $test);
$test3=str_replace("hauteur", $hauteur, $test2);

n°1875948
ilundar
Posté le 21-04-2009 à 17:39:39  profilanswer
 

Heu ça peut pas marcher un truc pareil.
 
en fait pour y arriver il faudrait arriver a construire le chaine finale à partir de celle de départ.
 
Un truc dans le genre :  
 

$test=str_replace($mavariable, $tutoriel['texte'], '<img src="'.$mavriable.'" width.........../>');


Message édité par ilundar le 21-04-2009 à 17:52:00
n°1875975
SICKofitAL​L
misanthrope
Posté le 21-04-2009 à 18:35:19  profilanswer
 

t'as regardé du coté de preg_replace ?


---------------
We deserve everything that's coming...
n°1876253
ilundar
Posté le 22-04-2009 à 13:10:53  profilanswer
 

Je m'y connais mal en expression régulière j'ai donc fait ça :
 

$patterns [0] = '/<img src=';
 $patterns [1] = 'width="(\w+) height="(\w+)"';
 $patterns [2] = 'align=(\w+) />';
 $replace [0] = '<a href=';
 $replace [1] = '';
 $replace [2] = '</a>';
 $test = preg_replace($patterns, $replace, $tutoriel['texte']);


 
Mais ça ne marche pas.


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

  Mot manquant REGEX !!!

 

Sujets relatifs
probleme de regex et preg_replace[Réglé](Regex) Récupération d'une chaîne située entre deux mots
[C#] aide sur un regex.[PHP] REGEX ou pas dans mon cas ?
help pour regexprobleme de regex
[Résolu]-[BATCH DOS] modification Mot De Passe dans l'Active Directoryregex validant chaine de caractères pouvant être nulle
Regex et séparateur de champs 
Plus de sujets relatifs à : Mot manquant REGEX !!!


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