Blubb: If else Anweisung in preg_replace

Beitrag lesen

Hallo,

$json_text = preg_replace("!(^|[^"=]{1})(#|@)([^\s<>]+)([\s\n<>]|$)!sme", "'\1<a href="" . (('\2' == "#") ? "http://search.twitter.com/search?q=\3" : "http://twitter.com/#!/\3") . "" target="_blank">\2\3</a>\4'", $json[$i]->{'text'});

Du hast dort mindestens einen Kontextwechsel, wenn du den String des "$replacement" verkettest, den du nicht beachtest. Ansonsten kann ich [conditional subpatterns](http://www.php.net/manual/de/regexp.reference.conditional.php) empfehlen.  
  
Grüße