Thread Modul Parse::BBCode (16 answers)
Opened by pq at 2011-05-16 18:46

Max_Perlbeginner
 2017-02-01 13:54
#186000 #186000
User since
2016-04-04
107 Artikel
BenutzerIn
[default_avatar]
Liebe pq,

Erst einmal herzlichen Dank für Dein schönes Modul. Ich steige gerade von textile auf BBCode um und ich vermisse ein ganz klitze kleines Feature.

In Textile werden automatisch Paragraphen erzeugt, wenn man eine Leerzeile (d.h. "\n\n") zwischen Textzeilen lässt. Ein normaler Textumbruch wird mit <br> ersetzt.

Ich weiß nicht, ob dies bei BBCode auch standardmäßig der Fall ist. Wie ich gelesen habe, ist BBCode nicht so sehr standardisiert..
Auf jeden Fall ist bei dem BBCode Editor von markitup ein ähnliches Verhalten festzustellen (siehe die Demo hier)

Ich weiß, dass mit der Option linebreaks Zeilenumbrüche zumindest in <br> umgewandelt werden, Paragraphen (sprich <p></p>) können meines Wissens jedoch automatisch bislang nicht geparst werden, oder irre ich mich da?

Ich habe jetzt mal selbst ein kleines Modul geschrieben, dass diese Aufgabe übernimmt. Es klappt bei mir so weit ganz gut. Vlt. könnte man so ein Feature auch in BBCode direkt einbinden? Die Optionen linebreaks und strip_linebreaks (was macht diese Option überhaupt?) müssten natürlich abgeschaltet werden.

Anbei hänge ich das wahrscheinlich viel zu ausführlich kommentierte Modul von mir an (vlt. hilft es ja).

PS.:
Sind die Zeilenumbrüche auf allen Systemen "\n"? Irgendwo habe ich gelesen, dass Perl mittlerweile die plattformspezifischen Zeilenumbrüche (also bspw. bei Win \r\n) automatisch und intern nach \n umwandelt. Ansonsten müsste der Code noch ein wenig verbessert werden...
Anhänge
text/plain
153 lines
Paragraph.pm

View full thread Modul Parse::BBCode