Zeilen in CODE-Blöcken nummerieren

Kleine Codeänderungen oder Mini-MODs
Keine Anfragen!!! -- No requests!!!

Moderator: Supporter

Zeilen in CODE-Blöcken nummerieren

Beitragvon AmigaLink » 12. Jan 2005 17:52

Dieses Snippet nummeriert die Code-Blöcke, die mit dem BBCode CODE erstellt wurden, durch.
Der Start der Nummerierung kann vorgegeben werden.
Dazu nach [ code ] noch ein [ s=X ] anhängen, wobei X die erste Zeilennummer ist. 8)
Code: Alles auswählen
#
#-----[ OPEN ]------------------------------------------
#
includes/bbcode.php

#
#-----[ FIND ]------------------------------------------
#
      $str_to_match = "[code:1:$uid]" . $before_replace . "[/code:1:$uid]";

#
#-----[ BEFORE, ADD ]------------------------------------------
#
      $temp_text = str_replace('[', '[', $after_replace);
      $temp_text = str_replace(']', ']', $temp_text);
      if (!preg_match("/\[s=([0-9]+)\]/", $temp_text))
      {
         $line_number = 1;
      }
      else
      {
         $line_number = substr($temp_text, 3, strpos($temp_text, "]") - 3);
         $after_replace = str_replace('[s='.$line_number.']', '', $temp_text);
      }

      $lines = preg_split("/\n/", $after_replace);
      $after_replace = '<ol start="'.$line_number.'" nowrap="nowrap">';

      for ($j = 0; $j < sizeof($lines); $j++)
      {
         $lines[$j] = preg_replace("/\n/", "", $lines[$j]);
         $after_replace .= '<li>'.$lines[$j].'&nbsp;</li>';
      }

      $after_replace .= '</ol>';

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM


Dieses Snippet ist hier nur bei CODE vorgesehen, liese sich aber auch für BBCode PHP / C oder andere Sprachen einsetzen.
Dazu wird der Post-Text selber nicht verändert, nur die Anzeige!


ERGÄNZUNG
Auf dem ezPortal werden diese Code-Blöcke mit zusätzlichen Leerzeilen dargestellt. Hierzu in der Datei fetchposts.php die Zeile
Code: Alles auswählen
         $posts[$i]['post_text'] = nl2br($posts[$i]['post_text']);

gegen
Code: Alles auswählen
         $posts[$i]['post_text'] = str_replace("\n", "<br />", $posts[$i]['post_text']);

austauschen, damit es auch dort stimmt.

Die gleiche Änderung gild auch für das IM Portal! Wo dadurch die Funktionalität des, evtl. eingebauten, "Select Expand BBcodes MOD" wieder hergestellt wird, welcher, hier auf AmigaLink.de, dafür verantwortlich ist das auch im Forum eine zusätzliche Leerzeile erscheint.

Author des Snippets: OXPUS
Quelle: oxpus.de
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon AmigaLink » 26. Sep 2007 15:48

Kleiner Fix meinerseits.
Und zwar habe ich eben in obigem Codeblock die Zeile 32 minimal verändert, damit es nicht zu Darstellungsfehlern bei leeren Zeilen kommt.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
Benutzeravatar
AmigaLink
Administrator
 
Beiträge: 3987
Registriert: 11. Aug 2004 01:06
Wohnort: NRW

Beitragvon Dungeonwatcher » 26. Sep 2007 16:33

Hi! 8)

AmigaLink hat geschrieben:Kleiner Fix meinerseits.


Super, THNX. Damit ist auch bei mir ein weiterer Schönheitsfehler verschwunden.

Bye
Benutzeravatar
Dungeonwatcher
User
 
Beiträge: 95
Registriert: 4. Nov 2005 09:52
Wohnort: Berlin

Re: Zeilen in CODE-Blöcken nummerieren

Beitragvon Ice-Child » 16. Apr 2009 14:48

I would REALLY like to get a hold of the code to use that Code box you have on here. I only speak English so if you could point me to the code I need for it, I would be ever so grateful.

Thanks in advance,
Ice

Code: Alles auswählen
#
This Code Box
#


P.S. My site is running the latest and greatest version of PHPNuke (above code doesnt work for new version). As in I downloaded and installed it day before yesterday. Can you either email me the lines I need to add and tell me where or point me to where I can go get it. I love that code box, have some programmers that will want that version big time.



Thanks in advance Again.
Ice-Child
 
Beiträge: 1
Registriert: 16. Apr 2009 14:12
Wohnort: St Louis, Missouri USA

Beitragvon ChrisB » 22. Mai 2009 12:41

Hallo AmigaLink,

was mir gerade so auffällt... der "Download" Link zum CODE-Block scheint hier einen Fehler zu haben... wenn im CODE-Block ein "\n" enthalten ist (wie bspw. in Deinem ersten CODE-Block in diesem Thread), dann wird dieser im Download als Zeilenumbruch interpretiert. Meiner Meinung nach müsste die entsprechende Zeile eigentlich überflüssig sein... oder was meinst Du?

Also im meine in etwa folgendes:
Code: Alles auswählen

#-----[ OPEN ]------------------------------------------ 

viewtopic.php 

#-----[ FIND ]------------------------------------------ 

      $download_file = str_replace('\n', "\n\r", $download_file);   

#-----[ REPLACE WITH ]----------------------------------

//      $download_file = str_replace('\n', "\n\r", $download_file);   

#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 

# EoM

Grüße
Chris
ChrisB
 
Beiträge: 7
Registriert: 5. Feb 2007 23:42
Wohnort: Stuttgart

Beitragvon oxpus » 22. Mai 2009 19:08

Hallo,

nein, die Zeile ist wichtig, sonst würde ja alles komplett ohne Umbruch dargestellt ;)
Kein Support ausserhalb der Foren!
No support outside the forums!
Benutzeravatar
oxpus
Partner
 
Beiträge: 610
Registriert: 14. Okt 2004 11:55
Wohnort: Bad Wildungen (halt so'n kleines Kurkaff)

Beitragvon ChrisB » 23. Mai 2009 12:42

Hallo oxpus,

ist das jetzt eine Vermutung oder hast Du das ausprobiert? Zumindest bei mir funktioniert das so quasi perfekt - bspw. http://www.yaabb.de/viewtopic.php?p=2986&dl_code=1 - :D - ich hab allerdings noch nicht geprüft ob das bei mir evtl. noch an einem anderen Mod liegt...

Code: Alles auswählen
         $download_file = $matches[1][$dl_code];
         $download_file = strip_tags($download_file);
         $download_file = preg_replace("/\[.*?:$bbcode_uid:?.*?\]/si", '', $download_file);
         $download_file = preg_replace('/\[url\]|\[\/url\]/si', '', $download_file);
         $download_file = preg_replace('/\:[0-9a-z\:]+\]/si', ']', $download_file);

         $download_file = unprepare_message($download_file);

         $download_file = str_replace('&nbsp;', ' ', $download_file);
         $download_file = str_replace('(', '(', $download_file);
         $download_file = str_replace(')', ')', $download_file);
         $download_file = str_replace(':', ':', $download_file);
         $download_file = str_replace('[', '[', $download_file);
         $download_file = str_replace(']', ']', $download_file);
         $download_file = str_replace('{', '{', $download_file);
         $download_file = str_replace('}', '}', $download_file);
//         $download_file = str_replace('\n', "\n\r", $download_file);
         $download_file = preg_replace("#\[s=([0-9]+?)\]#", "", $download_file);

         $filename = $board_config['sitename']."_CODE_Post_".$post_id."_".date("Ymd",time()).".txt";

         header('Content-Type: text/x-delimtext; name="'.$filename.'"');
         header('Content-Disposition: attachment;filename="'.$filename.'"');
         header('Content-Transfer-Encoding: plain/text');
         header('Content-Length: '.strlen($download_file));
         print $download_file;


Und hier werden, aus meiner Sicht, auch zu viel Zeilenumbrüche in die Download-Datei eingefügt...

Grüße
Chris
ChrisB
 
Beiträge: 7
Registriert: 5. Feb 2007 23:42
Wohnort: Stuttgart

Beitragvon oxpus » 23. Mai 2009 12:55

ChrisB hat geschrieben:Hallo oxpus,

ist das jetzt eine Vermutung oder hast Du das ausprobiert?

Ich habe das programmiert, kann also daher selbiges behaupten. ;)
Kein Support ausserhalb der Foren!
No support outside the forums!
Benutzeravatar
oxpus
Partner
 
Beiträge: 610
Registriert: 14. Okt 2004 11:55
Wohnort: Bad Wildungen (halt so'n kleines Kurkaff)


Zurück zu phpBB2 Snippets



Wer ist online?

Mitglieder in diesem Forum: Magpie [Crawler] und 2 Gäste

cron