Skip to content

Instantly share code, notes, and snippets.

@laszlokorte
Created November 14, 2009 16:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save laszlokorte/234612 to your computer and use it in GitHub Desktop.
Save laszlokorte/234612 to your computer and use it in GitHub Desktop.
<?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