Bonsoir,
Est il possible avec un regex de modicier l'url d'une image ?
Par exemple ajouter 'dossier/' dans chaque lien de la chaine ci-dessous
$chaine = "<img src="lien.png" /> texte texte texte <img src="lien2.jpg" /> ";
Bonsoir,
Est il possible avec un regex de modicier l'url d'une image ?
Par exemple ajouter 'dossier/' dans chaque lien de la chaine ci-dessous
$chaine = "<img src="lien.png" /> texte texte texte <img src="lien2.jpg" /> ";
Pourquoi as-tu besoin de faire ça ?
N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP
Oui tu peux le faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $chaine = str_replace('<img src="','<img src="dossier/',$chaine);
J'ai besoin de faire ca car le chemin des images est differents de la page qui charge le contenu et la page qui contient l'editeur (tiny). Donc elles s'affichent dans l'un mais pas dans l'autre. Je pourrais faire en sorte de mettre ces pages au même niveau mais ca chamboule l'organisation de mes dossiers.
J'ai effectivement pensé a faire un str_replace mais tous les codes ne sont pas forcément au même format <img src.. et peuvent etre <img alt="" src.. ou autre .
Alors je me suis dit que la meilleur solution serait peut etre un regex
Code : Sélectionner tout - Visualiser dans une fenêtre à part preg_replace("#(<img\s*.*src=")([^"])(.*"[^>]*>)#","$1dossier/$2$3",$chaine)
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
Merci SpaceFrog c'est ce dont je cherché mais il y a un soucis !
J'ai d'abord corrigé le regex
Le soucis est que le regex supprime le code html de l'image pour n'affiche que la parti qui a été modifié : administration/images/sachet_the.png" alt="" />
Code : Sélectionner tout - Visualiser dans une fenêtre à part preg_replace('#(<img\s*.*src=")([^"])(.*"[^>]*>)#','administration/$2$3',$pages);
Du coup le rendu comme ci-dessous:
^^blablabl bla bla administration/images/sachet_the.png" alt="" />bla bla bla blabla
La solution de BlobSmith est toute aussi simple...
- Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
- Merci d'utiliser les balises de code (# dans l'éditeur)
- N'oubliez pas de vous servir des boutons , et
S.N.A.F.U
Oui je sais, mais comme je l'ai expliqué plus haut ca ne me va pas car l'ordre des paramètres n'est pas identique pour toutes les images.
Il suffit de modifier un poil la réponse de la grenouille :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $reg = '#(<img\s*.*src=")([^"])(.*"[^>]*>)#'; preg_replace($reg, '$1administration/$2$3', $str);
- Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
- Merci d'utiliser les balises de code (# dans l'éditeur)
- N'oubliez pas de vous servir des boutons , et
S.N.A.F.U
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager