könnt ihr mal wieder nen Gefallen tun?
Diesesmal wollt ich wieder einen BBCode in einer PMS(Message)-Komponente hinzufügen. nur leider ist bei derer der BBCode-Aufbau wieder total anders.
So sieht die Datei aus, wo die bisherigen BBCodes drinn sind:
<?php
//Anzahl der Bilder, die umgewandelt werden sollen
if ($SM_BBCODE_IMAGECOUNT == "") {$SM_BBCODE_IMAGECOUNT = 11;}
// Zeilenumbrüche verschiedener Betriebsysteme vereinheitlichen
function convertlinebreaks ($bb_msg) {
return preg_replace ("/\015\012|\015|\012/", "\n", $bb_msg);
}
// Alles bis auf Neuezeile-Zeichen entfernen
function bbcode_stripcontents ($bb_msg) {
return preg_replace ("/[^\n]/", '', $bb_msg);
}
function do_bbcode_url ($action, $attributes, $content, $params, $node_object) {
if ($action == 'validate') {
return true;
}
if (!isset ($attributes['default'])) {
return '<a href="'.htmlspecialchars ($content).'">'.htmlspecialchars ($content).'</a>';
}
return '<a href="'.htmlspecialchars ($attributes['default']).'">'.$content.'</a>';
}
// Funktion zum Einbinden von Bildern
function do_bbcode_img ($action, $attributes, $content, $params, $node_object) {
if ($action == 'validate') {
return true;
}
return '<img src="'.htmlspecialchars($content).'" alt=">>Image<<">';
}
$bbcode = new StringParser_BBCode ();
//$bbcode->addFilter (STRINGPARSER_FILTER_PRE, 'convertlinebreaks');
$bbcode->addParser (array ('block', 'inline', 'link', 'listitem'), 'htmlspecialchars');
$bbcode->addParser (array ('block', 'inline', 'link', 'listitem'), 'nl2br');
//$bbcode->addParser ('list', 'bbcode_stripcontents');
$bbcode->addCode ('marquee', 'simple_replace', null, array ('start_tag' => '<marquee>', 'end_tag' => '</marquee>'),
'inline', array ('listitem', 'block', 'inline', 'link'), array ());
$bbcode->addCode ('shout', 'simple_replace', null, array ('start_tag' => '<h2>', 'end_tag' => '</h2>'),
'inline', array ('listitem', 'block', 'inline', 'link'), array ());
$bbcode->addCode ('b', 'simple_replace', null, array ('start_tag' => '<b>', 'end_tag' => '</b>'),
'inline', array ('listitem', 'block', 'inline', 'link'), array ());
$bbcode->addCode ('i', 'simple_replace', null, array ('start_tag' => '<i>', 'end_tag' => '</i>'),
'inline', array ('listitem', 'block', 'inline', 'link'), array ());
$bbcode->addCode ('u', 'simple_replace', null, array ('start_tag' => '<u>', 'end_tag' => '</u>'),
'inline', array ('listitem', 'block', 'inline', 'link'), array ());
$bbcode->addCode ('bl', 'simple_replace', null, array ('start_tag' => '<blink>', 'end_tag' => '</blink>'),
'inline', array ('listitem', 'block', 'inline', 'link'), array ());
$bbcode->addCode ('url', 'usecontent?', 'do_bbcode_url', array (),
'url', array ('listitem', 'block', 'inline'), array ('url'));
$bbcode->addCode ('link', 'callback_replace_single', 'do_bbcode_url', array (),
'link', array ('listitem', 'block', 'inline'), array ('link'));
$bbcode->addCode ('img', 'usecontent', 'do_bbcode_img', array (),
'image', array ('listitem', 'block', 'inline', 'link'), array ());
$bbcode->addCode ('bild', 'usecontent', 'do_bbcode_img', array (),
'image', array ('listitem', 'block', 'inline', 'link'), array ());
$bbcode->setOccurrenceType ('img', 'image');
$bbcode->setOccurrenceType ('bild', 'image');
$bbcode->setMaxOccurrences ('image', $SM_BBCODE_IMAGECOUNT);
$bbcode->addCode ('list', 'simple_replace', null, array ('start_tag' => '<ul>', 'end_tag' => '</ul>'),
'list', array ('block', 'listitem'), array ());
$bbcode->addCode ('*', 'simple_replace', null, array ('start_tag' => '<li>', 'end_tag' => '</li>'),
'listitem', array ('list'), array ());
$bbcode->setCodeFlag ('*', 'closetag', BBCODE_CLOSETAG_OPTIONAL);
$bbcode->setCodeFlag ('*', 'paragraphs', true);
$bbcode->setCodeFlag ('list', 'paragraph_type', BBCODE_PARAGRAPH_BLOCK_ELEMENT);
$bbcode->setCodeFlag ('list', 'opentag.before.newline', BBCODE_NEWLINE_DROP);
$bbcode->setCodeFlag ('list', 'closetag.before.newline', BBCODE_NEWLINE_DROP);
$bbcode->setRootParagraphHandling (true);
?>
Am Ende sollte man den BBcode so eingeben können:
[video=videoandfun]357542:42dd4c29ef8dda91a7fa9[/video]
Wobei videoandfun der account ist, 357542 die vid und 42dd4c29ef8dda91a7fa9 der vkey.
folgender Maßen sieht dazu der HTML-Code aus:
<br><div align=\"center\"><script type=\"text/javascript\">
var hiclip_account=\"$1\";
var hiclip_vid=\"$2\";
var hiclip_vkey=\"$3\";
</script><script type=\"text/javascript\" mce_src=\"http://www.hiclip.de/api/player_v10/\" src=\"http://www.hiclip.de/api/player_v10/\"></script></div>
Wäre echt gütig, wenn mir wieder jemand helfen könnte 