public
Created

  • Download Gist
bbcode_6.php
PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
<?php
 
final class VideoBbcode
{
public static function load()
{
// Die ABCodes sollen in die Gruppe video registriert werden
 
$group = array('video');
// ABCodes für verschiedene Video-Portale registrieren
Bbcode::register(new BbcodePattern('youtube', "/\[youtube\](.*?)\[\/youtube\]/si","VideoBbcode::youtube()"), $group);
 
Bbcode::register(new BbcodePattern('myvideo', "/\[myvideo\](.*?)\[\/myvideo\]/si","VideoBbcode::myvideo()"), $group);
Bbcode::register(new BbcodePattern('vimeo', "/\[vimeo\](.*?)\[\/vimeo\]/si","VideoBbcode::vimeo()"), $group);
 
}
public static function youtube($match)
{
//hier wird der HTML-Code für Youtube-Videos generiert und zurückgegeben
 
...
}
public static function myvideo($match)
{
//hier wird der HTML-Code für MyVideo-Videos generiert und zurückgegeben
 
...
}
public static function vimeo($match)
{
//hier wird der HTML-Code für Vimeo-Videos generiert und zurückgegeben
 
...
}
}
 
//-----------------------------------
// in einer anderen Datei, in der der ABCode und das VideoBbcode-Addon schon includiert und geladen wurden
 
 
//Die Videos von allen Hostern sollen gepostet werden können
//Die Video-Gruppe wird auf den String in $text angewendet
 
$text = Bbcode::convert($text, 'video');
 
//es sollen alle Videos gepostet werden können, außer die von Vimeo
 
//Die video-Gruppe wird geladen und in $bbcode gespeichert
$bbcode = new Bbcode('video');
 
//Der Vimeo-Bbcode wird deaktiviert
 
$bbcode->deactivatePattern('vimeo');
 
//Der modifizierte Video-Gruppe wird auf den String in $text angewendet
 
$text = $bbcode->convert($text);
 
//Es sollen alle Bbcodes aus der base-Gruppe benutzt werden.
 
//Außerdem sollen youtube videos eingebunden werden können
 
//base-Gruppe laden
$bbcode = new Bbcode('base');
 
 
//youtube-Bbcode aktivieren
$bbcode->activatePattern('youtube');
 
//base-Gruppe und youtube-Bbcode auf den String in $text anwenden
 
$text = $bbcode->convert($text);
 
//Der Text soll ohne jegliche Formatierungen angezeigt werden
 
//Allerdings sollen die Bbcode-Befehle, die beim schreiben des Textes benutzt wurden, des Lesen nicht behindern
//Dafür sollen sie einach entfernt werden
 
 
//Base-Gruppe laden (base wird als Standardgruppe benutzt)
$bbcode = new Bbcode();
 
//die clear-Methode auf den String in $text anwenden
 
$text = $bbcode->clear($text);
 
//Die Bold-, Italic- und Underline-Formatierungen sollen umgesetzt, aber alle anderen entfernt werden
 
 
//neuen Bbcode instanzieren
$bbcode = new Bbcode();
 
//alle Suchmuster deaktivieren
$bbcode->clearPatterns();
 
 
//bold, italic und underline wieder aktivieren
$bbcode->activatePattern('bold');
$bbcode->activatePattern('italic');
 
$bbcode->activatePattern('underline');
 
//die 3 Suchmuster auf den String in $text anwenden
$text = $bbcode->convert();
 
 
//die base-Gruppe erneut laden, damit wieder alle Suchmuster aktiv sind
$bbcode = new Bbcode('base');
 
 
//die clear-Methode auf den String in $text anwenden, damit alle zuvor noch niht umgewandelten Bbcode-Befehle entfernt werden
 
$text = $bbcode->clear();
 
?>

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.