OVH Cloud OVH Cloud

Besoin d'aide sur les expressions régulières !

2 réponses
Avatar
Mikado
Salut à tous,

Si il y a des pros des expressions régulières qui passent dans le coin, je
cherche à modifier ce genre de choses :

<div style="border:1px;">Ma "1ère phrase".<a href= "test">Ma "2nde
phrase"</a></div>

En :

<div style="border:1px;">Ma &quot;1ère phrase&quot;.<a href= "test">Ma
&quot;2nde phrase&quot;</a></div>

J'ai essayé avec un pattern du genre :

<.*?>(.*?)<.*?>

Mais forcément c'est trop simple j'obtiens :

<div style="border:1px;">Ma &quot;1ère phrase&quot;.<a href=
&quot;test&quot;>Ma &quot;2nde phrase&quot;</a></div>

Quelqu'un aurrait une idée du bon pattern à utiliser ? Merci !!

Mikado

2 réponses

Avatar
Ambassadeur Kosh
c'est pas plutot un probleme de Reader ?

Quelqu'un aurrait une idée du bon pattern à utiliser ? Merci !!


Avatar
Patrick Philippot
Bonjour,

<div style="border:1px;">Ma "1ère phrase".<a href= "test">Ma "2nde
phrase"</a></div>

En :

<div style="border:1px;">Ma &quot;1ère phrase&quot;.<a href= "test">Ma
&quot;2nde phrase&quot;</a></div>

J'ai essayé avec un pattern du genre :

<.*?>(.*?)<.*?>



Tout dépend d'où vous obtenez cette chaîne, mais AK a raison, un reader
utilisant un encodage adéquat devrait pouvoir régler ce genre de
problème.

Par ailleurs, les expressions régulières c'est puissant mais il faut
savoir quand ne pas les utiliser. Sur des expressions de ce type on est
plus dans une problématique de parsing que dans une approche expressions
régulières. Finalement, ce texte pourrait être considéré comme du XML et
analysé puis modifié comme tel.

L'HTML Agility Pack de Simon Mourier devrait aider à faire un travail
efficace sur ce type de source.

http://blogs.msdn.com/smourier/archive/2003/06/04/8265.aspx

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr