Einzelnen Beitrag anzeigen

Niels

Registriert seit: 25. Okt 2003
192 Beiträge
 
#1

PHP: Problem mit eregi_replace

  Alt 14. Nov 2004, 16:12
Hallo,

ich möchte einen Teilstring aus eregi_replace (also \\1, \\2, etc.) in einer Funktion zu verändern, weiß aber nicht, wie ich ihn an die Funktion übergeben kann.

Folgender Code ist Sinnlos, dient aber nur zur Veranschaulichung eines Weiteren Problems, was beim Testen aufgetreten ist:

Code:
<?
function funktionsaufruf($text) {
echo $text;
return $text;
}

$post = '[code]hallo
';
$post = eregi_replace("\\[code\\]([^\\[]*)\\[/code\\]", funktionsaufruf('\\1'), $post);
echo $text;
?>[/code]

Innerhalb der Funktion wird '\1' ausgegeben und das 2. Echo gibt 'hallo' aus. Wenn ich die Funktion wie folgt verändere wird jedoch 'blub' ausgegeben:

Code:
<?
function funktionsaufruf($text) {
$text = 'blub';
return $text;
}
?>
Nach der ersten Ausgabe dachte ich, dass zwar in der Funktion die Variable einen falschen Wert hat, aber irgendwie die Funktion in eregi_replace nicht berücksichtigt wird. Die 2. Ausgabe zeigt ja aber, dass die Funktion Einfluss auf eregi_replace nimmt.

Wäre schön, wenn mir das jemand erklären könnte und mir sagen könnte, wie ich nun den wert von \\1 an die Funktion weiter geben kann.

Vielen Dank

MfG Niels
  Mit Zitat antworten Zitat