", str_replace("<", "<", $s)));');
// convert < and > to their html entities
$html = str_replace('<', '<', $html);
$html = str_replace('>', '>', $html);
// convert linebreaks to
$html = nl2br($html);
// [url]
$html = preg_replace('|\[url\](.+?)\[/url\]|ie', '\'$1\'', $html);
$html = preg_replace('|\[url=(.+?)\](.+?)\[/url\]|ie', '\'$2\'', $html);
// [img]
$html = preg_replace('|\[img\](.+?)\[/img\]|ie', '\'
\'', $html);
// [b], [i], [u]
$html = preg_replace('|\[b\](.*?)\[/b\]|i', '$1', $html);
$html = preg_replace('|\[i\](.*?)\[/i\]|i', '$1', $html);
$html = preg_replace('|\[u\](.*?)\[/u\]|i', '$1', $html);
// [youtube]
$html = preg_replace('|\[youtube\]\s*(.+?)\s*\[/youtube\]|ie', 'self::youtube("$1")', $html);
return $html;
}
/**
* Get YouTube embed code
*
* @param string $url
* @return string
*/
private static function youtube($url)
{
$err['invalid_url'] = "Youtube: ongeldige url: " . htmlentities($url) . " ";
if(!preg_match('|^http://(www\.)?youtube\.com/watch|i', $url))
return $err['invalid_url'];
// get query part
$query = parse_url($url, PHP_URL_QUERY);
if(!$query)
return $err['invalid_url'];
// parse query
parse_str($query, $query_parts);
if(empty($query_parts))
return $err['invalid_url'];
if(!isset($query_parts['v']))
return $err['invalid_url'];
// generate embed code
$embed = '';
$embed = str_replace('{v}', $query_parts['v'], $embed);
return $embed;
}
}