Extraire une ou plusieurs parties de chaine

miss_boulette Messages postés 2 Date d'inscription jeudi 9 décembre 2004 Statut Membre Dernière intervention 10 décembre 2004 - 9 déc. 2004 à 18:31
hollenfurst Messages postés 30 Date d'inscription vendredi 17 septembre 2004 Statut Membre Dernière intervention 2 juillet 2005 - 18 déc. 2004 à 12:13
Bonjour,

Je débute en PHp et après avoir parcouru l'ensemble du forum sur les chaines de caractères, je viens vous exposer mon pb.
Oila je dois réaliser l'administration d'un site et notamment récupérer les données d'un éditeur HTML et les transformer pour les images.
En fait, les données de l'editeur arrivent dans un textarea du formulaire, sous la forme d'une chaine de caractères qui peut contenir ou non des balises de type .

Exemle du contenu d'un textarea :
Bonjour voici ma première image :

Blabla

.....

Et encore une autre :

Et re blabla ;)

Moi je dois rescencer toutes les balises (et surtout leur propriétés src), pour faire l'upload de cette image en arrière plan sur le serveur à la validation du formulaire, puis modifier le contenu du src (passage de l'adresse de type c:temp/imG.jpg à http://monsite/img/imG.jpg).

Mon pb est que j'arrive bien à rechercher le debut de la balise avec la fonction eregi mais j'ai bcp de mal à comprendre comment fonctionne les expressions régulières et je sais pas du tout comment faire pour récupérer ce qui est contenu dans les "" de src.
Alors je vous remercie pour tous les conseils que vous pourrez m'apporter.

1 réponse

hollenfurst Messages postés 30 Date d'inscription vendredi 17 septembre 2004 Statut Membre Dernière intervention 2 juillet 2005
18 déc. 2004 à 12:13
bonjour

J'ai déja fait un truc similaire cela donnais ceci

$posi_img = strpos($body, $recherche_img, $posi);
$posi_src = strpos($body, $recherche_src,$posi_img);
$posi_start = strpos($body, $recherche_quote, $posi_src);
$posi_end = strpos($body, $recherche_quote, $posi_start+1);
$taille_chaine = $posi_end - $posi_start;
$chaine = substr($body, $posi_start, $taille_chaine);


sachant que
- body correspond à ta chaine contenant le source html
- recherche_img correspond à "img"
- recherche_src correspond à "src"
- recherche_quote correspond à "

au final tu te retrouve avec la position de départ est de fin il ne te reste plus alors qu'a faire un str_replace pour y mettre ce que tu desires

tu peux aussi boucler cette fonction avec un compteur correspond au nombre de fois oou il y a la balise img dans body
avec un simple substr_count($body, $recherche_img)

j'espere que j'ai été suffisament clair, sinon ecris moi
0
Rejoignez-nous