Hallo!
Ich habe ein Problem mit einem regex:
"%[[(.+)](.+)]%Use" => 'make_a_link( "$1" , "$2" )' (funktion siehe weiter unten)
Aus
[bla[blubb]] soll <a href="bla">blubb</a> werden
alles prima sonderklasse, wenn sonst nix mehr in der richtung danach kommt.
steht da
[bla[blubb]]
[[blo]] (was dannzu <a href="blo">blo</a> werden soll)
steht im quältext:
<a href="bla%5Dblubb%5D%0A%0A%5B%5Bblo">bla]blubb]<br />
<br />
[[blo</a><br />
</p><br />
<a href="index.php?prgm=wiki&mode=edit">edit</a> <a href="index.php?prgm=wiki&mode=lock">lock</a><br /></div>
es wird also nicht ungreedy gemachted, obwohl ich ja extra dafür U angegeben habe.
make_a_link sieht so aus:
PHP-Code:
function make_a_link( $one , $two = '' ) {
if( empty( $two ) )
return "<a href="" . rawurlencode( html_entity_decode( $one ) ) . "">$one</a>";
else
return "<a href="" . rawurlencode( html_entity_decode( $one ) ) . "">$two</a>";
}
wo liegt mein denkfehler?