Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] [klasa] AlphaStreamCutter - automatyczny łamacz linii, Lekarstwo na problem rozjeżdżających się stron ?
SoofMan
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 0
Dołączył: 15.04.2007
Skąd: klikash ? A stond, z tamtond, ze wszond

Ostrzeżenie: (0%)
-----


(Użyłem wyszukiwarki i widzę że nie było takiego tematu, ale mogę się mylić. Jak było coś podobnego, to temat można skasować)

Witam,

Nudziło mi się ostatnio i oprócz gry w Heroes 3, którego jestem maniakiem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) postanowiłem też napisać na bazie algorytmu PHP Compactera - automatyczny obcinacz/łamacz za długich linii tekstu.

Przyszło mi to do głowy, bo zauważyłem że na wielu forach są straszne problemy z linkami które potrafią totalnie rozjechać całą stronę. Jak widzę, na tym forum problem jest już rozwiązany.

Klasa przetwarza i łamie dowolny STRING analizując go bajt po bajcie - tak jak to robił PHP Compacter, z tym że obsługuje Czysty Text, HTML oraz BBCode.

Pobrać można jak zawsze stąd:

http://hypercacher.com/download_pl.html



Przykładowe wywołania do przerabiania poszczególnych typów textu:

Przerabianie zwykłego tekstu:

  1. <?php
  2. $stream = file_get_contents('Text_zwykly.txt');
  3. $ct1 = new AlphaStreamCutter(0, 0, 40);
  4. $output = $ct1->CompactTextStream($stream);
  5. ?>


Przerabianie kodu HTML:

  1. <?php
  2. $stream = file_get_contents('Test001.html');
  3. $ct1 = new AlphaStreamCutter(1, 0, 40);
  4. $output = $ct1->CompactTextStream($stream);
  5. ?>


Przerabianie Text+BBCode:

  1. <?php
  2. $stream = file_get_contents('text_z_BBcode.txt');
  3. $ct1 = new AlphaStreamCutter(2, 0, 40);
  4. $output = $ct1->CompactTextStream($stream);
  5. ?>



Gdzie parametr o wartości 40 - to maksymalna długość ciągu.


Początek klasy wygląda tak:
  1. <?php
  2. class AlphaStreamCutter {
  3.  
  4. //This are the acceptable BBCode tags. Warning !!: They must be uppercase. Put you
    r custom BBCode tags in here to be recognized by this script
  5. var $arrBBCodeTagsList = array('URL', 'QUOTE', 'IMG', 'CODE', 'SIZE', 'COLOR');
  6.  
  7. //This regulates if the input string should be treated as HTML
  8. var $intInputTextFormat = false;
  9.  
  10. //This sets the string that will be used as line break
  11. var $strOutputLineBreakString = "n"; 
  12.  
  13. //How many characters can there be in one line before it is broken
  14. var $intMaxCharactersInLine = 80;
  15. ?>


Ten post edytował SoofMan 24.07.2007, 10:38:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




W każdym bądź razie poznaliśmy swoje zdania na temat tej klasy. Niech inni też oceniają. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 10:27