Salut, Je suis en train de me battre depuis pas mal d'heures sur un script à base de preg_replace, il y a un truc dont je n'arrive pas à trouver la solution.
Donc, voilà. J'ai un texte en html : <p>Un texte en html, donc, avec régulièrement des sauts de lignes<br /> que j'aimerais transformer en paragraphe, jusque là, pas trop de problème<br /> par fois ces sauts de ligne se trouvent avant une image<br/><img src="tata.toto"/><br /> auquel cas, je ne veux pas les enlever, même chose pour ceux qui sont juste derrière. Il faut imaginer<br /> qu'il peut y avoir des liens <a href="haha">un lien</a> et d'autres balises.<br /> Et surtout, à un moment donné, le paragraphe<br /> peut prendre fin et laisser place à autre chose.</p> <ul><li>item 1</li></ul>. L'idée est que je voudrais remplacer les <br /> qui ne sont pas juste devant ou derrière une balise image par </p><p>. Mais pour ça, il faut que je fasse gaffe, car je crous le risque d'ouvrir une balise <p> alors qu'il n'y aura rien pour la fermer. J'ai tenté pas mal de choses autour de '#<p>(.*?)<br />?#' avec des assertions arrières, etc. Mais je n'arrive pas à gérer tout. J'en suis arrivé à faire un truc où j'isole d'abord les paragraphes (c'est-à-dire <p>...</p> ou </p> ne se répète pas), puis je strip les <br /> à l'intérieur. Mais je n'arrive pas à trouver de solution pour stopper la boucle while que j'ai autour de tout ça. Une solution qui m'aiderait énormément serait de réussir à trouver comment exclure une chaîne de caractère avec regexp, mais je n'ai pas trouvé, et ce que j'ai lu porte à croire que ça n'est pas possible. Typiquement, je pense que ça marcherait '#<p>([^</p>]*?)<br />?(?!<img)' si on pouvait préciser que c'est la chaîne complète "</p>" que j'exclue de l'expression. Voilou voilou. Merci d'avance et beaucoup -- ============================== ORL (alias Yvette H.) ------------------------ Responsable internet de l'AMMD Sebkha-Chott : http://sebkhachott.net [Mekanik Metal Disco] [Peplum Neo-Futuriste Burlesque - Spectacle musico-théatral comique] Amicale du Mekanik Metal Disco : http://ammd.net [Asso loi 1901 promouvant les musiques éclectiques via l'open-music] L'Entremetteur : http://entremetteur.ammd.net [Réseau indépendant de groupes en France] Tél : 02 43 82 72 48 ------------------------ __________________________________ / Chiffrez et signez vos messages \ | Utilisez les clés GnuPG | | | | HOWTO : | | http://vilya.org/gpg/gpg-intro.html | \ __________________________________ / ================================== -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

