probleme pattern pour eregi_replace() - PHP - Programmation
Marsh Posté le 14-08-2007 à 17:56:12
bon c'est pas avec ereg, mais je te donne une solution ultra simpliste avec preg...
Code : |
pas testé mais ca devrait marcher
Marsh Posté le 14-08-2007 à 18:21:20
@e-deby
J'ai testé avec d'autres balises etc... en changeant ce qu'il faut. Ca marche ! Code bien utile dans bien des cas. Merci.
Marsh Posté le 14-08-2007 à 22:30:49
merci bien.
je testerai ca jeudi
au fait ca fait quoi "iUs" ?
autre question:
- vous connaisez une classe qui permette soit d'extraire toutes les balises HTML d'images par exemple d'une chaine HTML et les met dans un array ?
- ou alors un parser de code HTML qui crée une représentation XML, ou un array, ou un objet (enfin bref une sorte de DOM)
pour manipuler (ou au moins acceder aux valeurs) les element du doc HTML avec PHP
bref comme utiliser le DOM HTML en Javascript
ca me serait super utile.
Marsh Posté le 14-08-2007 à 22:46:03
Pour les images, essayes un truc du genre
Code :
|
Pour le Uis, lisez la doc alala on peut pas le faire à votre place
http://www.php.net/manual/fr/refer [...] ifiers.php
Citation :
i (PCRE_CASELESS) s (PCRE_DOTALL) |
Enfin, pour le DOM, avec du HTML par définition ca va etre compliqué vu que ca n'est pas sensé respecter strictement une arbo correcte. Tu dois pouvoir bidouiller une méthode, mais bon ca sera pas fiable
Avec du XHTML par contre la ca devrait se faire justement tout seul non ?
Marsh Posté le 16-08-2007 à 10:22:21
oui c sur qu'avec XHTML ca serait plus simple.
Mais combien ya de sites en XHTML ?
je dois m'adapter a ce qui existe.
dans ce cas comment ca se fait, que meme avec le code HTML le plus pourri, le DOM est créé correctement et pleinement exploitable avec Javascript ?
Marsh Posté le 14-08-2007 à 16:31:51
Bonjour
J'ai le contenu d'une page HTML dans une string
et je voudrais supprimer seulement certaines balises
telles que <head> , <style>, <script>
je voudrais utiliser la methode eregi_replace()
mais je galère a définir le pattern
voici ce que j'ai essayé (les Regexp c vraiment pas mon fort pour le moment) :
$Pattern = "(<[style][A-Za-z0-9]{1,}>[A-Za-z0-9]</[style]+> )";
ca marche mais ce que je voudrais obtenir c'est supprimer tous les expression qui par ex :
commencent par <style
+ qui peut contenir des parametres (ex: type="text/css" )
+ tout le texte qui peut suivre (ex: ".maclasse { border:1px.... };" )
+ jusqu'a </style>
Pour info mon environement de travail :
- Windows XP, PHP5
Pouvez vous me filer un coup de main
merci