login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > UBB & Smilies > Ubb-parser Class + smilies + woordfilter + simpel

Ubb-parser Class + smilies + woordfilter + simpel

Auteur: Mulle - 26 april 2008 - 19:08 - Gekeurd door: marten - Hits: 8683 - Aantal punten: 4.25 (2 stemmen)





Dit is een UBB-parser CLASS met volgende mogelijkheden:
-ubb-tags
-smilies
-woordenfilter
-eenvoudig zelf te maken tags

De volgende tags zijn aanwezig (26/04/2008)
  1. -Tekstopmaak
  2. -[b]tekst[/b]
  3. -[i]tekst[/i]
  4. -[u]tekst[/u]
  5. -[s]tekst[/s]
  6. -[sub]tekst[/sub]
  7. -[li]tekst[/li]
  8. -[center]tekst[/center]
  9. -[color]tekst[/color]
  10. -[marque]tekst[/marque]
  11. -Links + afbeeldingen
  12. -[email title=#]e-mail adres[/email]
  13. -[url=# target=# title=#]url[/url]
  14. -[img width=# height=#]figuur[/img]
  15. -Externe Filmpjes
  16. -[youtube width=# height=#]video nr[/youtube]
  17. -[break width=# height=#]video nr[/break]
  18. -[google_video width=# height=#]video nr[/google_video]
  19. -Google zoeken
  20. -[google_search]teskt zoeken[/google_search]
  21. -UBB tags negeren
  22. -[show_tags]tekst[/show_tags]
  23. -Overige
  24. -[offtopic]tekst[/offtopic]
  25. -[quote name=#][/quote]


Verder wordt uitgelegd hoe je eenvoudig een eigen tag kan maken.
Heb je zelf tags gemaakt dat je wilt delen met anderen, dan mag je mij altijd contacteren. Ik zet dan de tags in de zipfile.


Commentaar en opmerkingen zijn altijd welkom (zowel positieve als negatieve (wel met een grondige uitleg))


Deze classe is geinspireerd op een ander script (ivm met de regex). Ik kan niet meer terugvinden van wie en van waar omdat ik de code al enkele jaren heb liggen. Als iemand het weet mag dat gemeld worden aan mij, ik kan het er dan bij vermelden.

Code:
Gebruik maken van de ubb_parser class
  1. <?php
  2. //$text => tekst die door de parser moet
  3. ...
  4.  
  5. //class aanroepen
  6. $ubb = new Ubb_parser( $text );
  7.  
  8. //tags uitschakelen [2 mogelijkheden] (worden niet geparsed)
  9. $ubb -> disable_tags( array( 'b' , 'i' ) );
  10. of
  11. $ubb -> disable_tags( 'u' );
  12. $ubb -> disable_tags( 'center' );
  13.  
  14. //tags terug inschakelen [2 mogelijkheden] (worden terug geparsed)
  15. $ubb -> enable_tags( array( 'b' , 'i' ) );
  16. of
  17. $ubb -> enable_tags( 'u' );
  18. $ubb -> enable_tags( 'center' );
  19.  
  20. //woordfilter [2 mogelijkheden] (vervangt woorden)
  21. $ubb -> wordFiltre( array( 'kut' , 'fuck' ) , "***" ); //kut => *** ; fuck => ***
  22. of
  23. $ubb -> wordFiltre( array( 'kut' => 'k*t' , 'fuck' => 'f*ck' ) ); //kut => k*t ; fuck => f*ck
  24.  
  25. //Smilies importeren
  26. $ubb -> importSmilies( 'public/smilies/v1/smilies.txt' );
  27.  
  28. /*
  29. In de map met de smilies wordt het bestand 'smilies.txt' geplaatst met de volgende inhoud
  30.  
  31. :D => biggrin.gif
  32. :d => biggrin.gif
  33. :blink: => blink.gif
  34. B) => cool.gif
  35. b) => cool.gif
  36. <_< => dry.gif
  37. ...
  38. */
  39.  
  40. //Smilies zelf toekennen
  41. $ubb -> setSmilies( array( ":D" => "biggrin.gif" , ":d" => "biggrin.gif" ) , 'public/smilies/v1/' );
  42. of
  43. $ubb -> setSmilies( array( ":D" => "public/smilies/v1/biggrin.gif" ) );
  44.  
  45.  
  46. //tekst parsen
  47. echo $ubb -> parse_text( );
  48. ?>


Zelf UBB tags aanmaken:
Alle zelf gemaakte tags moeten in de map tags geplaatst worden.
Ik ga een voorbeeld geven van een youtube tag (voor youtube filmpjes)

-Er wordt een niewe php file gemaakt met de tag naam: [tag].php (youtube.php)
-Nu wordt de volgende functie aangemaakt ubbTag_[tag] (ubbTag_youtube)
-Deze functie bevat 2 parameters
-->$content: is de tekst tussen de tags [youtube]videonr[/youtube] => videonr
-->$args: is een array met alle argumenten van de tag [youtube width=500 height=400]videonr[/youtube] => array( width => 500 , height => 400 )
  1. <?php
  2. function ubbTag_youtube( $content , $args ) {
  3. }
  4. ?>

-Alle mogelijke argumenten definieren met een standaard waarde zodat ze niet moeten worden gebruikt bij de tag
  1. <?php
  2. function ubbTag_youtube( $content , $args ) {
  3.  
  4. $args = array_merge( array( 'width' => '400' , 'height' => '326' ) , $args );
  5. }
  6. ?>

-Alle argumenten omzetten naar variabelen (met functie extract) zodat het gewenste resultaat gemaakt kan worden
  1. <?php
  2. function ubbTag_youtube( $content , $args ) {
  3.  
  4. $args = array_merge( array( 'width' => '400' , 'height' => '326' ) , $args );
  5.  
  6. extract( $args );
  7.  
  8. return "<embed style=\"width: " . $width . "px; height: " . $height . "px;\" wmode=\"transparent\" type=\"application/x-shockwave-flash\" src=\"http://www.youtube.com/v/" . $content . "&amp;hl=nl\"></embed>";
  9. }
  10. ?>

-De ubb tag is aangemaakt, dus redelijk simpelDownload code! Download code (.txt)

Download dit script!
 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (4)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.053s