Code darstellen

sh1t0R

Aktives Mitglied
Hallo,

Ich suche ein (php) script welches ein String ab einem Tag(z.b. wie hier [ CODE ]), darstellt und nicht uebersetzt.

eigentlich genau wie in diesem forum:
CODE
<?php

Das meine ich

?>

 
Bitteschön. Beachte: die Funktion benötigt immer beginnend ein <?php und abschliessend ein ?> Tag, sonst wird nichts dargestellt... Aber mit einer kleinen Workaroundfunktion wirst du das bestimmt auch für Ausschnitte von PHP Code benutzen können.
 
Wie will ich dann z.b. die Funktionen in einem 'echo' anwenden?
(in einem echo weil ich ja eine var ausgebe, z.b. $row['text'])
 
Irgendwie habe ich Mühe, deine Fragen zu verstehen...
rolleyes.gif
Bitte erklär mir, was genau du wissen willst.
 
schau am besten hier

wenn ich da highlight($stringausdb) mach, dann wird alles highlighted inklusive dem <h4>...aber ich will nur dass er ab dem
Code:
 highlightet?
 
CODE
echo "...Wie fast jeden Abend blalblabla ".highlight_string("die(\"blablabla\";)",true)." xyz...";



Der zweite Parameter "true" macht, dass die Funktion nicht automatisch den Code am Bildschirm ausspuckt, sondern ihn zurückgibt.
 
kannst mir bitte mal beim str_replace helfen??

CODE $string = str_replace("[bb]", "???", $string);
$string = str_replace("[/bb]", "???", $string);
 
Ich nehme mal an, du willst aus einem String den Teil rausfiltern, welcher in [ CODE ]...[/ CODE ] gesetzt ist?
 
Das machst du am besten mittels eines Substrings (mit regulären Ausdrücken würde ich dich wohl eher verwirren):

CODE
$code = substr($code,strpos("[ CODE ]"),strpos["[/ CODE ]"] + 7);



In etwa so sollte es hinhaun'.
wink.gif
 
CODE $code = substr($code,strpos("[ CODE ]"),strpos("[/ CODE ]") + 7);

$string = str_replace($code, highlight_string($code), $string);


so? xD
 
QUOTE +7
wofuer ist das?


"[/CODE]" ist 7 Zeichen lang. strpos() gibt die Position des ersten Zeichens des gefundenen Strings an, also müssen wir noch 7 addieren.


QUOTE $code = substr($code,strpos("[ CODE ]"),strpos("[/ CODE ]") + 7);

$string = str_replace($code, highlight_string($code), $string);


Das funktioniert zwar problemlos, ist aber nicht sehr performant. Ich würde den gesamten String per strpos() in 3 Strings aufteilen:

String1 = Text vor Code
String2 = Code
String3 = Text nach Code

Dann brauchst du nur noch String2 zu highlighten und darauf die 3 String wieder zusammen zu setzen.
smile.gif
 
wenn es im text mehrere codes hat hat es mehrere strings zum zusammensetzen was eigentlich gleich !perfomant ist, denke ich.



QUOTE Das funktioniert zwar problemlos,..


funktioniert nicht... -__-
da
 
mein gott, da tut sich immer noch nix

CODE $code = substr($code,strpos($string, "[ CODE ]"), strpos($string, "[/ CODE ]")+7);

$string = str_replace($code, highlight_string($code), $string);
 
Zurück
Oben