hallo,
erstmal sorry für die beschissene überschrift aber mir ist keine bessere eingefallen.
also ich entwickel gerade ein tool, dass aus deinem string bestimmte muster erkennt und diese umwandelt.
ist aus den foren ja bekannt, in meinem bsp z.b., dass er [ url ]http://www.test.de[ / url ] (ohne leerzeichen) in einen html link umwandelt.
gelingt mir dank preg_match() und preg_replace() auch alles soweit.
meine suchmuster speicher in arrays ab.
hier mal der code um einen überblick zu bekommen:
title.php:
test.php:
durch
wird jetzt noch nur der erste eintrag im arry genommen.
ich bräuchte jetzt jedoch eine schleife du prüft, ob das suchmustter in den array zutrifft oder nicht. ich weiß, dass preg_match() eine 1 zurückgibt wenn es übereinstimmt, andernfalls eine 0.
ich habs schon mit enttlichen for() und while() schleifen versucht, aber stehe gerad einfach auf dem schlauch und bekomme das nicht gebacken.
sicherlich ne ganz einfache sache, für hilfe bin ich dankbar
gruß
wolle
edit: die regulären ausdrücke werden hier irgendwie nicht angezeigt. sind aber vorhanden und das script funktioniert auch soweit. nur an der schleife hängts
erstmal sorry für die beschissene überschrift aber mir ist keine bessere eingefallen.
also ich entwickel gerade ein tool, dass aus deinem string bestimmte muster erkennt und diese umwandelt.
ist aus den foren ja bekannt, in meinem bsp z.b., dass er [ url ]http://www.test.de[ / url ] (ohne leerzeichen) in einen html link umwandelt.
gelingt mir dank preg_match() und preg_replace() auch alles soweit.
meine suchmuster speicher in arrays ab.
hier mal der code um einen überblick zu bekommen:
title.php:
PHP-Code:
<html>
[ url ]hallo[ / url ] //ohne leerzeichen
</html>
PHP-Code:
$sis = file_get_contents("title.php","rb");
$re_suche = array('!\[url\](.*?)\[/url\]!','!\[url=(.*?)\](.*?)\[/url\]!');
preg_match($re_suche[0],$sis,$matches);
$re_ersetze = array('<a class="red" href="'.$matches[1].'" target="_blank">'.$matches[1].'</a>','<a class="red" href="'.$matches[1].'" target="_blank">'.$matches[2].'</a>');
$text = @preg_replace($re_suche,$re_ersetze,$sis);
echo $text;
PHP-Code:
preg_match($re_suche[0],$sis,$matches);
ich bräuchte jetzt jedoch eine schleife du prüft, ob das suchmustter in den array zutrifft oder nicht. ich weiß, dass preg_match() eine 1 zurückgibt wenn es übereinstimmt, andernfalls eine 0.
ich habs schon mit enttlichen for() und while() schleifen versucht, aber stehe gerad einfach auf dem schlauch und bekomme das nicht gebacken.
sicherlich ne ganz einfache sache, für hilfe bin ich dankbar
gruß
wolle
edit: die regulären ausdrücke werden hier irgendwie nicht angezeigt. sind aber vorhanden und das script funktioniert auch soweit. nur an der schleife hängts
Kommentar