AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] phpBB codes, aber etwas komplizierter...
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] phpBB codes, aber etwas komplizierter...

Ein Thema von Meflin · begonnen am 8. Mär 2005 · letzter Beitrag vom 13. Mär 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#1

[PHP] phpBB codes, aber etwas komplizierter...

  Alt 8. Mär 2005, 17:46
Hi,

folgendes Problem plagt mich: ich habe text in der form
Code:
blabla
[code] hier ein quelltext
nochmal geblah
Code:
 und vielleicht noch ein quelltext
[/code]
also praktisch vergleichbar mit einem forumspost hier in der dp

nun will ich den text, der jeweils zwischen den [code] teilen steht, aber vor der ausgabe noch durch eine funktion jagen, die ihn formatiert, um ihn danach formatiert an seiner alten stelle im originaltext auszugeben. und meinen copy&paste preg_replace phpBB php code find ich auch nimmer
also im moment habe ich keine ahnung wie ich das nun machen soll...

*MFG*

  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: [PHP] phpBB codes, aber etwas komplizierter...

  Alt 8. Mär 2005, 18:09
Hallo Meflin,

such mal in der includes/bbcode.php folgende Zeile:

Code:
function bbencode_second_pass_code($text, $uid, $bbcode_tpl)
Beim 2.0.13er ist dies Zeile 558. Die Funktion wird nur fuer Text zwischen code-Tags aufgerufen.
Ich hab mir die Funktion allerdings nicht genauer angesehn, aber das sollte sein, was du brauchst.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: [PHP] phpBB codes, aber etwas komplizierter...

  Alt 8. Mär 2005, 18:22
hi alcaeus,

thx erstmal, aber ich sollte vielleicht dazu sagen dass ich das ausserhalb des phpbbs brauche ... ich meine nur so tags wie eben die phpBB codes

oder meinst du dass diese funktion genau das tut, was allerdings schlecht wäre, weil ich die schonmal angeschaut habe, und die ist ziemlich... heavy
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#4

Re: [PHP] phpBB codes, aber etwas komplizierter...

  Alt 9. Mär 2005, 18:46
soderle, inzwischen hab ihc mir was gebastelt:
Code:
 $regex = "#\{code\}(.*?)\{/code\}#smiU";
 preg_match_all($regex, $source, $codes);
 for ($i = 0; $i < count($codes[0]); $i++){
 $geshi = new GeSHi($codes[1][$i], 'delphi', $path);
 $output = str_replace($codes[0][$i], $geshi->parse_code(), $output);
 echo $output;
 unset($geshi);
 }
nur es funktioniert nicht

1. erfolgt überhauptkeine ausgabe mehr. nichtmal der ungeparste originaltext wird ausgegeben, nein, es wird einfach kein text mehr ausgegeben. fehlermeldung erhalte ich allerdings auch keine
2. stimmt die regular expression so? [code ]...[/code] soll ersetzt werden (natürlich ohne leerzeichen )
3. check ich die preg_match_all net so ganz. $source enthält den text, der geparst werden soll, und $codes zur weiteren verwendung. stimmt das so?

  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#5

Re: [PHP] phpBB codes, aber etwas komplizierter...

  Alt 11. Mär 2005, 12:39
Hi!
Ich weiß nicht ob du noch Hilfe brauchst, ein Fehler der mir in deiner Regex ausgefallen ist, dass du smiU angegeben hast, soweit ich mich erinnern kann steht das s dafür, das der Interpreter den String für eine single line halten soll und m steht für multi line, also in dem Falle doppelt gemoppelt ich würd das m an deiner stelle rausnehmen.

mfg phlux
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: [PHP] phpBB codes, aber etwas komplizierter...

  Alt 11. Mär 2005, 13:01
$regex = "#\{code\}(.*?)\{/code\}#smiU";

Damit sucht er aber nach {Code} und nicht nach [Code]
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#7

Re: [PHP] phpBB codes, aber etwas komplizierter...

  Alt 11. Mär 2005, 13:41
Zitat von SubData:
$regex = "#\{code\}(.*?)\{/code\}#smiU";

Damit sucht er aber nach {Code} und nicht nach [Code]
jep, stimmt natürlicj, da ist mir wohl die etwas falsche version reingerutscht trotzdem müsste dann der text einfach ausgegeben werden, der durchsuchte text löst sich aber irgendwie komplett in luft auf
die aktuelle regular expression lautet:
$regex='/\[code\](.+)\[\/code\]/'; allerdings wird der [code] block nicht gefunden, count($code) ist 0. irgendwas an der expression stimmmt nicht...

  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#8

Re: [PHP] phpBB codes, aber etwas komplizierter...

  Alt 12. Mär 2005, 19:14
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#9

Re: [PHP] phpBB codes, aber etwas komplizierter...

  Alt 12. Mär 2005, 22:16
*Beide PHP Bücher hervorkram*

*Nachguck*

*Denk*

...

Damit geht's ... (getested)
Code:
<? 
 $text = 'Hier ist kein Code [code] hier aber schon ...
';

function code($string)
{
return "
Code:
" . base64_encode ($string[1]) . "
";
}

echo preg_replace_callback ("/\[code\](.*)\[\/code\]/i", "code", $text);
?>[/code]

Ausgabe:
Zitat:
Hier ist kein Code [code]IGhpZXIgYWJlciBzY2hvbiAuLi4g[/code]
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#10

Re: [PHP] phpBB codes, aber etwas komplizierter...

  Alt 13. Mär 2005, 13:02
ich glaub ich spinn dein besipiel funzt, ja, nur übertragen auf meinen code:
Code:
function code($string)

  $geshi = new GeSHi($string[1], $language, $path);
  $geshi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
  //return base64_encode ($string[1]);
  return $geshi->parse_code();

             
echo preg_replace_callback ("/\[code\](.*)\[\/code\]/i", "code", $source);
funzt da wiederum garnix $source entspricht deinem $text. muss wohl irgendwie an den internen abläufen des geshi highlighters liegen nur ich versteh absolut nicht warum das nicht geht

  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz