|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Bonjour,
J'ai une regex qui me pause des soucis, en effet, comme l'indique le titre, je dois modifier le contenu de la balise src d'une image. l'objectif est de rajouter un . (point) devant l'url de la photo Je travail en PHP 5. Voilà ce que j'ai tenté : Code :
C'est fonctionnel seulement cela ne marche pas si c'est des images gif ou png. Aussi le second problème est que parfois la balise <img se ferme soit comme ça : " />" où comme ça " >". Pouvez-vous m'aider à finaliser cette regex ? Par avance un grand merci! Edit : technique du flemmard : Code :
$contenu = str_replace('src="/', 'src="./', $contenu); |
||
|
|
00
|
|
|
#2 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Heu, c'est loin d'être une technique de flemmard et c'est la technique que je te recommande. str_replace est au moins 10x plus rapide qu'une regexp. D'une manière générale, partout où tu peux remplacer une regexp par un strpos, un substr ou un str_replace, fais-le, le gain de perf est énorme.
Enfin, si tu tiens à te faire mousser auprès des filles ou à devenir un gourou dans ta boite, tu peux mettre des regexp partout, ça en jette un max -- Edit La bonne manière serait d'utiliser DOMDocument pour trouver tes nodes et les modifier avec DOMElement::getAttribute et DOMElement::setAttribute (aaaah Stealh35, sors de me tête )
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
oui les regex sont à utiliser avec parcimonie...
Sinon pour les extensions des fichiers, tu peux en choisir dans une liste (ou booléen) : Code php :
__________________
Je ne réponds pas aux questions envoyées par mp |
||
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Merci beaucoup pour ces éléments de réponse.
par-contre DOM, je me le réserve pour dans un petit moment lors de mon apprentissage d'ajax :-) J'ai un autre souci qui je pense doit être réglée avec une regexp, je vais ouvrir un nouveau post et clôturer celui-ci. |
|
|
00
|
|
|
#5 | |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Citation:
Enfin, on retrouve les mêmes principes, y compris les XPath et XSL(T) qui sont d'une grande puissance dans PHP. Je te conseille vivement de te former sur XML un de ces quatre matins, ça change complètement la façon de concevoir les applis web selon moi.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
|
00
|
|
|
#6 | |
|
Membre actif
![]() Inscription : avril 2011 Messages : 426 ![]() |
Citation:
|
|
|
|
00
|
|
|
#7 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Pour plus d'infos:
- Manipuler XML en PHP - DOMDocument - DOMXPath - XSLProcessor - SimpleXMLIterator (pour itérer à travers un document) Pour apprendre: - XML - XPath - XSLT Il vaut mieux lire ces tutos dans l'ordre indiqué car on a besoin d'une bonne connaissance de la syntaxe des XPath pour fabriquer des XSLT. En ce qui concerne le XHR, il n'y en a pas en PHP (à ma connaissance) pour deux raisons: - PHP est totalement synchrone (bien qu'il soit possible par des moyens complexes de le faire tourner en asynchrone) - DOMDocument peut charger des documents distants
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
10
|
Copyright © 2000-2012 - www.developpez.com