Funktion in Array aufrufen

Bogat

Mitglied
Hallo,

ich hätte da mal ein Problem und zwar habe ich ein BB-Code System geschrieben und wollte das für diverse Dinge dann eine andere Funktion aufgerufen wird, anstatt es eifnach nur mit text ersetzt wird. Mein Problem ist das ich entweder die Funktion aufrufen kann, aber keinen wert übergeben kann, außer ich schreibe ihn selbst in "xyz", aber "$1" geht nicht. Andere Möglichkeit ist das ich das ganze dann einfach als Text ausgebe und somit natürlich nichts passiert. Wie kann ich die Funktion nun aufrufen UND den Wert $1 mit übergeben?

Danke im vorraus.

Gruß,
Christian
 
Öhm klar, kein Akt. Hier ist ein Beispiel wie ich es gerne hätte:

PHP:
$suche = array('/\[b\](.*?)\[\/b\]/', 
					   '/\[i\](.*?)\[\/i\]/', 
					   '/\[u\](.*?)\[\/u\]/', 
					   '/\[filecount(.*?)\]/', // Das Beispiel
					   '/\[color=(.*?)\](.*?)\[\/color\]/');
		
		$code = array('<b>$1</b>',
					  '<i>$1</i>',
					  '<u>$1</u>',
					  checkfilecount("$1"), // Das Beispiel
					  '<span style="color: $1;">$2</span>');
 
PHP:
<?php
function do_code ($string)
{
echo $string;
}
$string = "sosntwiewas mit dem Code [ code]da ist der code[ /code]";
preg_match ("#\[code\](.+?)\[/code\]#eisU","do_code ('\\1')", $string);
?>

So würde man soetwas realisieren schau dir mal Reguläre ausdrücke an vorallem die Modifier. Wenn du hier im Forum suchst dann wirste bestimmt was finden der Modifier "e" macht das möglich was du suchst und ist mit [phpf]eval[/phpf] gleichzusetzen.
 
oh sehr nice, also mit dem e das hat wunderbar funtkioniert, aber wenn ich isU mache, dann zerfetzt mir das irgendwie alles^^ (habe bei allen anderen isU gemacht gehabt) habe es wieder rausgenommen und jetzt ales bestens. vielen dank!
 
Zurück