un petit cas tordu que je soumets a votre sagacité (non testé en SVN, mais sur 182e avec une fonction de fermeture paragraphe qui ressemble (en moins bien evidemment …) )
Cas d’ecole dans l’article : [<imgxxx|center>->www.service-public.fr
]
l’algo touve un div devant l’image, et referme le
, mais le validateur n’aime pas ca du tout :
<code>
<a href="http://www.service-public.fr" class="spip_out">
</p><div class='spip_documents spip_documents_center' ><img src='IMG/jpg/Avon.jpg'
width='150'
height='33'
style='border-width: 0px;' alt="Service-Public.fr (JPG)" title="Service-Public.fr" /></div>
<p class="spip"></a>
"One possible cause for this message is that you have attempted to put a block-level element (such as «
» or « ») inside an inline element (such as « », « », or « »). "
Le probleme c’est qu’on peut filtrer le <a…>
avec une regex :
$str = preg_replace(’{(<a\s[^>]>)\s(</p>)(.?)(<p\s[^>]>)\s*()}is’,’\2\1\3\5\4’,$str);
mais il reste le <a…><div…> et son reciproque qui tilte encore
et la que faire, vu que le <div…><img…>… fait un bloc complet ?
Salutations,
CM