", 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; } }