|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : avril 2003 Messages : 335 ![]() |
Bonjour,
Voici un bout de code qui me permet de supprimer les balises (et les propriétés internes) que je ne souhaite pas lorsque je récupère une chaine de texte issue d'un wysiwyg. Code :
Comment réaliser le masque inverse ? Merci. |
||
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : mai 2005 Messages : 1 ![]() |
tu peux mettre les tag entre commentaire exemple :
<br /> devient <!--<br />--> apres tu n'as plus qu'a enlever les <!-- et --> |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : avril 2003 Messages : 335 ![]() |
Salut je ne vois pas grand interêt.
J'ai juste besoin du masque inverse. |
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : avril 2003 Messages : 335 ![]() |
Petite précision voici le masque :
J'ai essayé avec [^table|div|p] mais sans succès. |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Inscription : août 2004 Messages : 454 ![]() |
Je comprends pas trop pourquoi les regex... si tu veux retirer certaines balises et pas d'autres, tu fais un str_replace sur un tableau contenant les balises que tu ne veux pas dans ta chaine, nan ?
__________________
Règle n°1 du forum francophone : Parler le français... Pas de question technique par MP, le forum est fait pour çà, merci. |
|
|
00
|
|
|
#6 |
|
Membre actif
![]() Inscription : août 2003 Messages : 159 ![]() |
Salut, ceci ?
|
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : avril 2003 Messages : 335 ![]() |
Salut Huntress, il y a un nombre incaculable de balise que je ne souhaite pas.
Salut doof :)) Merci, toujours là pour me sauver ! Ca marche. TchaÔ ^^ |
|
|
00
|
|
|
#8 | ||||
|
Membre régulier
![]() Inscription : avril 2003 Messages : 335 ![]() |
Une question dans le même ordre d'idée.
Pour remplacer par exemple <hr style="....."> par <hr /> Cela marche très bien mais je comprend pas le masque. Code :
Je suppose que \b[^"]*? représente "toute chaine de texte" mais je comprend pas pourquoi ça ne marche pas avec .* puisque j'ai cru lire cette méthode dans les tutos. Code :
Merci ! |
||||
|
|
00
|
|
|
#9 | |||
|
Membre actif
![]() Inscription : août 2003 Messages : 159 ![]() |
Citation:
le [^"]*? veut dire toute chaine qui ne contient pas de ", le resultat le plus petit possible serat pris grace au ? ... D'ailleurs j'ai du mal a comprendre pourquoi tu veux éviter les guillemets ici (peut etre pour ne pas traiter les attributs de balises ?) Citation:
Citation:
|
|||
|
|
00
|
|
|
#10 |
|
Membre régulier
![]() Inscription : avril 2003 Messages : 335 ![]() |
D'accord merci bcp doof pr tes explications.
C'est assez complexe finalement avec les débuts et fin de ligne. Dans mon esprit avec cela '/<(hr|br).*>/i' il continu tant que ya du texte ou pas et s'arrête à la première balise fermante. Enfin c'est comme ça que je conçois mes htaccess et à priori ça marche. Je garde ça au final : Code :
preg_replace('/<(hr|br).*?>/i', '<\1 />', $txt); Merci |
|
|
00
|
|
|
#11 | |
|
Membre actif
![]() Inscription : août 2003 Messages : 159 ![]() |
Citation:
En fait, c'est le comportement "gourmand" par défaut des regex qui fait ca, pour le rendre non gourmand, soit tu fait suivre le * par un ? soit tu rajoute l'option U (pour "ungreedy") qui rendra tout ton motif non gourmand. Euh, pour des bons tutos "avancés", il y a cette partie de la doc bien que succinte, elle est plutot complete : http://doc.domainepublic.net/php/doc.php.court/regexp.introduction.html peut être celle ci qui aborde légérement les assertions : http://www.phpinfo.net/articles/article_regex2.html Et vraiment complet en anglais : http://www.regular-expressions.info/tutorial.html |
|
|
|
00
|
|
|
#12 |
|
Membre régulier
![]() Inscription : avril 2003 Messages : 335 ![]() |
J'te remercie pour ton aide précieuse depuis le début.
Je vais aller lire tout ça. Ciao :) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com