Zur Navigation

art BBcode gesucht!

1 mar123

Hallo,
super Forum! Ich hab schon viel über die Suche gefunden, aber dieses mal muss ich mich anmelden!

Also ich hab so ein php code, damit zum Beispiel ein php code oder html code farbig wird!
Dieser Code lautet:

<?php 
$code = "hier der html oder php code"; 
highlight_string($code); 
?>

Jetzt will ich, dass man zum Beispiel irgendwo [html]hier der html oder php code[/html] angibt und dann soll zwischen den [html] und [/html] der code Farbig werden!
Kann mir da jemand so ein Code geben?

Danke schon mal im voraus!

Gruß
mar123

16.08.2005 09:19

2 Jörg Kruse

Hallo mar123
und willkommen hier :)

ich würde den Textabschnitt mithilfe von preg_replace() ersetzen. Die Funktion highlight_string() könnte in etwa so ausschauen:

function highlight_string($code) {
$text = preg_replace("/\[html\](.+)\[\/html\]/isU","<span style=\"color:red\">\\1</span>",$code);
return $code;
}

oder an Stelle von
style=\"color:red\"
noch besser als Klasse
class=\"highlight\"
die du zentral im CC-Teil definierst:

.highlight {
color:red;
}

16.08.2005 10:00 | geändert: 16.08.2005 10:04

3 mar123 (Gast)

hallo,
danke für deine Antwort!
Wenn ich jetzt den code:
<?php
function highlight_string($code) {
$text = preg_replace("/\[html\](.+)\[\/html\]/isU","<span style=\"color:red\">\\1</span>",$code);
return $code;
}
?>
in eine php datei einfüge auf den server hochlade und dann die php file öffne, kommt folgende Fehlermeldung:

Fatal error: Cannot redeclare highlight_string() in /usr/export/www/vhosts/funnetwork/hosting/b4all/bbcode.php on line 2
Noch ne Frage:
wie kann man den bbcode dann so zusagen extern verwenden?
Dass man zum Beispiel einfach in eine html datei [html]COde code code code code[/html]einfügt und dass dieser code zwischen den [html] und [/html] beim öffnen der Html datei farbig wird!

Ach ja, kannst du mir ein Buch oder Internetseite empfehlen wo man gut php lernen kann?

Vielen Dank!

Gruß
mar123

16.08.2005 10:50

4 Jörg Kruse

Ups, ja, die Funktion highlight_string() ist bereits belegt, die kann man nicht neu definieren. Da sie ein Syntax-Highlighting erzeugt ist sie für deine Zwecke allerdings auch nicht zu gebrauchen. Dafür kannst du auf meine selbstgebastelte Funktion zurückgreifen, die muss man wegen dem belegten Namen aber noch umbenennen, z.B. in farbig()

"wie kann man den bbcode dann so zusagen extern verwenden?
Dass man zum Beispiel einfach in eine html datei [html]COde code code code code[/html]einfügt und dass dieser code zwischen den [html] und [/html] beim öffnen der Html datei farbig wird!"

bei der Ausgabe muss die vorher deklarierte Funktion farbig() auf den auszugebenden Text angewendet werden, also in etwa so:

<?php
function farbig($code) {
$text = preg_replace("/\[html\](.+)\[\/html\]/isU","<span style=\"color:red\">\\1</span>",$code);
return $code;
}

$text = farbig($text);

echo $text;
?>

Ach ja, kannst du mir ein Buch oder Internetseite empfehlen wo man gut php lernen kann?

Online ist diese Seite vielleicht nicth schlecht als Einstieg für PHP4:

PHP 4 Webserver-Programmierung für Einsteiger

oder auch das Buch PHP 4. Grundlagen und Profiwissen von Jörg Krause

16.08.2005 11:11 | geändert: 16.08.2005 11:55

5 mar123 (Gast)

Danke!
Hat gefunzt!

Thx!
gruß
mar123

17.08.2005 10:07

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]