Sorry, I forgot that ereg() uses a greedy algorithm. Here is the correct one:
$text = "I'm <span class=\"blaha\">a\nlittle\nsomething</span>, don't <span class=\"blaha\">know</span> what.";
function negateString($s) {
$res = "[".$s[0]."]";
for ($i = 1; $i < strlen($s); $i++)
$res .= "|".substr($s, 0, $i)."[".$s[$i]."]";
return "($res)";
}
while (eregi("<span class=\"blaha\">(".negateString("</span>").")</span>(.)$", $text, $reOut)) {
echo $reOut[1]."<br>\n";
$text = $reOut[3];
}
Good luck!