|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 52 ![]() |
Salut à tous,
Après des heures de recherche, la fonction preg_replace() reste pour moi des plus obscures... Je veux tout simplement remplacer à la volée, dans une chaîne de caractères, toutes les balises Code :
<b> par <span style="font-weight:bold;"> J'aimerais aussi, quand la chaîne comporte 2 <br /> à la suite, ne mettre qu'1 <br /> à la place. Merci de m'aider à écrire ce bout de code, mais aussi à m'aider à comprendre comment fonctionne cette fichue fonction (j'ai remarqué, dans bien des exemples, qu'il faut ajouter des caractères "bizarres" du genre / @ * @i etc... dans la chaîne recherchée, mais à quoi ça sert, ça, bouh, rien compris Merci beaucoup @+ |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
pour parser du HTML c'est DOMDocument,
sinon quel est l’intérêt de la chose ? d’où sort la source ?
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 52 ![]() |
Bonjour stealth35,
La source provient du contenu d'un textarea stocké dans ma base de données. Ce textarea est associé à un éditeur html wysiwyg qui ne produit pas forcément du code super valide, et j'aimerais "nettoyer" un peu ce code avant de l'afficher dans ma page |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 131 ![]() |
change plutôt d'éditeur, c'est le vrai problème de base
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#5 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 52 ![]() |
Le pb n'est pas là, ça va plus loin qu'un simple bout de code html non valide XHTML (d'ailleurs CKEditor le fait très bien).
J'aimerais recentrer le sujet qui à l'origine portait sur la compréhension de la fonction php preg_replace(), et non pas sur la validité d'un code ou un débat sur les éditeurs wysiwyg ! Je vous explique qd même rapidement pourquoi je veux modifier à la volée des fragments de code d'un contenu provenant d'un champ de saisie textarea et stocké dans une BDD : En fait, j'utilise cet éditeur pour peupler des zones de contenus en "saisie libre" dans le site. Et par exemple, pour les besoins du site, l'utilisateur peut vouloir insérer un lien vers un autre site avec l'option target=_blank. Or, tout le contenu administrable du site est également utilisé pour alimenter le site version "mobiles/smartphones", et j'aimerais rendre ce site le plus possible compatible avec ces systèmes. Mais le target=_blank est rédhibitoire car il signifie ouverture d'une autre fenêtre, ce qui n'est pas possible avec la plupart des mobiles, sauf peut être les navigateurs des smartphones dernière génération, mais qui sont loin de représenter la majorité des internautes mobiles. Bref, c'est ce genre de bouts de code que j'aimerais supprimer à la volée lors de l'affichage de la version Mobiles des contenus, d'où mon appel à l'aide sur la fonction preg_replace(). Merci pour votre aide |
|
|
00
|
|
|
#6 |
![]() ![]() Benjamin PREVOTArchitecte de système d'information Inscription : septembre 2004 Messages : 1 568 ![]() |
Bonjour,
Si c'est juste pour remplacer des chaînes de caractères, utilise plutôt str_replace. Mais les conseils de stealth35 sont ce qu'il y a de mieux
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN F.A.Q. : Java, PHP, (X)HTML / CSS N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com