Problème avec preg_replace

Fermé
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 - Modifié par arthezius le 1/09/2013 à 16:57
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 - 1 sept. 2013 à 23:33
Bonjour à tous,

Je suis en train de m'arracher les cheveux sur un morceau de code et je ne comprends pas d'où vient le problème.
Peut-être aurez-vous une idée d'où vient le problème.

Voici la portion de code qui pose problème:

function clear_img($img)
 {
 $pattern = array(
  '/\width="(.*?)"/is',
  '/\height="(.*?)"/is',
  '/\style="(.*?)"/is',
  );
 $replace = array(
  'class="preview_img_cat"',
  '',
  '',
  );
 
 $img = preg_replace($pattern, $replace, $img);
 return $img;
 }
$img[0]='<img style="float: right;" src="http://localhost/gouzy/files/1378044761_f22jfi73.png" alt="" width="150" height="141" />';

$img[0] = clear_img($img[0]);


L'idée étant de partir de la chaine:
<img style="float: right;" src="http://localhost/gouzy/files/1378044761_f22jfi73.png" alt="" width="150" height="141" />

et de la modifier en
<img src="http://localhost/gouzy/files/1378044761_f22jfi73.png" alt="" class="preview_img_cat" />


Malheureusement, en l'état, je reçois:
<img style="float: right;" src="http://localhost/gouzy/files/1378044761_f22jfi73.png" alt="" class="preview_img_cat" height="141" />

Les attributs style et height sont restés alors qu'ils ne devraient pas.
Je n'arrive pas à comprendre d'où vient mon erreur.

Le code de la chaîne à modifier provient de TinyMCE. Les valeurs sont donc susceptible de changer, d'où l'utilisation de preg_replace.

Merci par avance à ceux qui pourront m'aider.




« La recherche commence là où s'arrête la connaissance. »

1 réponse

prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
Modifié par prosthetiks le 1/09/2013 à 23:34
Tu as testé tes regexp ?

Edit: Après relecture de ton problème, oublie ce que je viens de dire. Test déja tes regexp et on regarde après pour la suite ^^
0