Moin,
wie ihr bereits in der Überschrift gelesen habt, möchte ich preg_match_all benutzen. Und zwar geht es um einen BBCode, der einer URL gleicht. Hier mein bisheriger Code:
Es soll folgendermaßen Ablaufen: Wenn (wie bei URL) kein "=bla" im Tag erscheint, soll der Inhalt zwischen den Tags ausgewertet werden. Also: Der Inhalt zwischen den Tags soll die Beschreibung sein und "=bla" der Link. Wenn Link nicht exisitiert, soll Beschreibung=Link sein.
Vielen Dank für eure Hilfe. Wenns geht vielleicht mit Erklärung, warum mein bisheriger Code nicht einwandfrei läuft. =)
EDIT: Dass am Ende nur $id steht ist bisher nur aus Testwecken.
wie ihr bereits in der Überschrift gelesen habt, möchte ich preg_match_all benutzen. Und zwar geht es um einen BBCode, der einer URL gleicht. Hier mein bisheriger Code:
PHP-Code:
preg_match_all("#\[wiki(=(.*?))?:$bbcode_uid\](.*?)\[/wiki:$bbcode_uid\]#si",$message,$matches);
for ($i=0; $i < count($matches[0]); $i++)
{
$pos = strpos($message, $matches[0][$i]);
if($matches[1][$i])
{
$id = $matches[1][$i];
}
else
{
$id = $matches[2][$i];
}
if($id)
{
$message = substr_replace($message, $id,$pos,strlen($matches[0][$i]));
}
}
Vielen Dank für eure Hilfe. Wenns geht vielleicht mit Erklärung, warum mein bisheriger Code nicht einwandfrei läuft. =)
EDIT: Dass am Ende nur $id steht ist bisher nur aus Testwecken.
Kommentar