• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

preg_replace() prob in verbindung mit klassen

Status
Für weitere Antworten geschlossen.

CrackPod

Neues Mitglied
Code:
<?php
	function highlight() {
		$this->string = preg_replace("!\[php\](.*)\[/php\]!isU","<div class=\"txt_text\">$1</div>", $this->string);
	}
?>
Das funzt wunderbar.
Code:
<?php
	function highlight() {
		$this->string = preg_replace("!\[php\](.*)\[/php\]!isU","<div class=\"txt_text\">highlight_string($1)</div>", $this->string);
	}
?>
Das geht nicht... wenn in dem string dann
<?php
$bla = 'sinnlos';
echo $bla;
?>
steht, wird das nich gehighlighted
die ausgabe sieht dann so aus:
highlight_string(<?php
$bla = 'sinnlos';
echo $bla;
?>)
Kann ich keine Funktionen bei preg_replace hernehmen?Wie lös ich das?
 
Werbung:
Werbung:
auf die idee bin ich auch schon gekommen nur
Code:
<?php
	function highlight() {
		$this->string = preg_replace("!\[php\](.*)\[/php\]!isU","<div class=\"txt_text\">".highlight_string($1)."</div>", $this->string);
	}
?>
gibt mir eine fehlermeldung von wegen der variablen name stimmt nicht, weil man ja ne $ ned mit ner zahl anfangen darf-.- wie kann ich das lösen
 
weil $1 nur ein platzhalte im string ist den die funktion ersetzt das ist keine variable! variablen namen dürfen doch gar nicht mit zahlen beginnen...
 
Werbung:
Code:
$merken = preg_replace("!\[php\](.*)\[/php\]!isU",'$1', $this->string); 
$this->string = highlight_string($merken);

FALSCH was für ein bockmist habe ich da gebaut....

so ist richtig...

Code:
$merken = preg_replace("!\[php\](.*)\[/php\]!isU",'$1', $this->string); 
$this->string = preg_replace("!\[php\](.*)\[/php\]!isU",highlight_string($merken), $this->string);
 
sicher, dass das richtig ist?
Wenn ich das mache, dann bekomm ich am anfang der Textausgabe der ganze Text, aber ohne CSS Formatierung. Danach kommt das Tutorial nocheinmal, aber die
PHP:
 Stellen sind nicht mehr drinnen...
:?

lol, wieso kommt der beitrag 2 mal?
 
Werbung:
hast recht war ein fehler drinne:

Code:
$merken = preg_replace("!\[php\](.*)\[/php\]!isU",'$1', $this->string);
$this->string = preg_replace("!\[php\](.*)\[/php\]!isU",highlight_string($merken), $merken);
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben