Created
November 14, 2009 16:24
-
-
Save laszlokorte/234612 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
final class VideoAbcode | |
{ | |
public static function load() | |
{ | |
// Die ABCodes sollen in die Gruppe video registriert werden | |
$group = array('video'); | |
// ABCodes für verschiedene Video-Portale registrieren | |
Abcode::register(new AbcodePattern('youtube', "/\[youtube\](.*?)\[\/youtube\]/si","VideoAbcode::youtube()"), $group); | |
Abcode::register(new AbcodePattern('myvideo', "/\[myvideo\](.*?)\[\/myvideo\]/si","VideoAbcode::myvideo()"), $group); | |
Abcode::register(new AbcodePattern('vimeo', "/\[vimeo\](.*?)\[\/vimeo\]/si","VideoAbcode::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 VideoAbcode-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 = Abcode::convert($text, 'video'); | |
//es sollen alle Videos gepostet werden können, außer die von Vimeo | |
//Die video-Gruppe wird geladen und in $abcode gespeichert | |
$abcode = new Abcode('video'); | |
//Der Vimeo-Abcode wird deaktiviert | |
$abcode->deactivatePattern('vimeo'); | |
//Der modifizierte Video-Gruppe wird auf den String in $text angewendet | |
$text = $abcode->convert($text); | |
//Es sollen alle Abcodes aus der base-Gruppe benutzt werden. | |
//Außerdem sollen youtube videos eingebunden werden können | |
//base-Gruppe laden | |
$abcode = new Abcode('base'); | |
//youtube-Abcode aktivieren | |
$abcode->activatePattern('youtube'); | |
//base-Gruppe und youtube-Abcode auf den String in $text anwenden | |
$text = $abcode->convert($text); | |
//Der Text soll ohne jegliche Formatierungen angezeigt werden | |
//Allerdings sollen die Abcode-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) | |
$abcode = new Abcode(); | |
//die clear-Methode auf den String in $text anwenden | |
$text = $abcode->clear($text); | |
//Die Bold-, Italic- und Underline-Formatierungen sollen umgesetzt, aber alle anderen entfernt werden | |
//neuen Abcode instanzieren | |
$abcode = new Abcode(); | |
//alle Suchmuster deaktivieren | |
$abcode->clearPatterns(); | |
//bold, italic und underline wieder aktivieren | |
$abcode->activatePattern('bold'); | |
$abcode->activatePattern('italic'); | |
$abcode->activatePattern('underline'); | |
//die 3 Suchmuster auf den String in $text anwenden | |
$text = $abcode->convert(); | |
//die base-Gruppe erneut laden, damit wieder alle Suchmuster aktiv sind | |
$abcode = new Abcode('base'); | |
//die clear-Methode auf den String in $text anwenden, damit alle zuvor noch niht umgewandelten Abcode-Befehle entfernt werden | |
$text = $abcode->clear(); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment