I use an application which generates html (validated). And filtering doesn't work. I find it is because there are in the document (I don't no exactly why) empty links followed by other links. That is for example:
some words. A lot of words. <a href="moodle.org"> Moodle</a>
No filter works between the two links.
I found the problem : It is in the "filter_save_ignore_tags" function in the lib/filterlib.php.
The regular expression use a "+" . If I put a "*" at the place, the problem was corrected.
$pregexp = '/'.$opentag.'(.+?)'.$closetag.'/is';
$pregexp = '/'.$opentag.'(.*?)'.$closetag.'/is';
I don't know if it the ultime solution because I don't know why a "+" was used.