Seite 1 von 2
PHP-Syntax-Highlighter
Verfasst: 08.02.2006 02:26
von Bonaparte
Kann es sein, dass bei dem Mod etwas fehlt? Ich habe alles 1:1 übernommen, es funktioniert aber nicht. Woran kann das liegen?
http://www.phpbb.de/moddb/mod.php?id=BBCode_PHP_Tag
Verfasst: 08.02.2006 09:51
von punkface
Hallo
Der MOD kann gar nicht funktionieren, weil beim speichern eines Beitrags gar nicht die bbcode_uid in die BBCode-Tags eingefügt wird.
...
Du könntest mal folgendes machen:
bbcode.php
suche
for posting code (HTML, PHP, C etc etc) in your posts.
$text = bbencode_first_pass_pda($text, $uid, '
', '', true, '');[/code]
danach einfügen
Code: Alles auswählen
// [PHP] and [/PHP] for posting code (HTML, PHP, C etc etc) in your posts.
$text = bbencode_first_pass_pda($text, $uid, '[php]', '[/php]', '', true, '');
Auch wenn es funktioniert weiss ich nicht ob das so ausreicht, also meld dich mal bitte per PN beim MOD Autor.
Verfasst: 08.02.2006 14:32
von webmaster128
Danke, ein Update wird in kürze folgen
Verfasst: 08.02.2006 14:51
von webmaster128
Vielen Dank punkface, hatte vergessen diesen Teil mit aufzuschreiben
Bugfix steht zum Download bereit
http://www.phpbb.de/moddb/BBCode_PHP_Tag
mfG
webmaster128
Verfasst: 08.02.2006 15:24
von Bonaparte
Super, danke, es funktioniert.
Eine Frage hätte ich noch.
Wenn man folgenden Code Schreibt
wird es durch das hier ersetzt
Im Mod selbst habe ich nichts dergleichen gesehen, warum kommt es aber dazu?
Verfasst: 08.02.2006 15:27
von webmaster128
Das macht der PHP-Highlighter automatisch....müsste noch geändert werden
Verfasst: 08.02.2006 15:33
von webmaster128
Verfasst: 08.02.2006 16:19
von Bonaparte
keine bange, gleich kommt 1.0.3
so wie ich verstanden habe, sind folgende zeilen dafür verantwortlich.
Code: Alles auswählen
if ( substr($after_replace, 0, 2 ) != '<?' ) {
$after_replace = "<?\n" . $after_replace;
}
if ( substr($after_replace, -2 ) != '?>' ) {
$after_replace = $after_replace . "\n?>";
}
es kommt vor, dass man auch <?php eingibt und nicht nur <? somit wird es doppelt ausgegeben. jetzt habe ich das hier dazwischen eingefügt:
Code: Alles auswählen
else if ( substr($after_replace, 0, 2 ) != '<?php' ) {
$after_replace = "<?php\n" . $after_replace;
}
und wollte sicher gehen, dass man das auch so machen kann/ darf.
Verfasst: 08.02.2006 16:26
von webmaster128
Ja das kann man machen, ist aber garantiert sinnlos, da wenn der code mit
<?php anfängt tritt die in garnicht ein, weil die ersten beiden zeichen ebenfalls <? sind und damit keine änderung notwendig ist
Verfasst: 08.02.2006 16:36
von Bonaparte
ok, ich habe da etwas verwechselt
wenn der code folgendermaßen eingegeben wird
dann ist alles i.o
anders ist es bei diesem hier
das ist die ausgabe
1 <?
2
3 <?php
4 echo "testdf";
5 ?>
6
7 ?>
deshalb habe ich auch den letzten beitrag geschrieben