Fix two minor bugs, updating Phorum and removing unused $dir variable.
[htmlpurifier/darkodev.git] / library / HTMLPurifier / Filter / YouTube.php
blobaca972f6c56fb1f4fcb7b00e6e1a0c4b91aa2033
1 <?php
3 class HTMLPurifier_Filter_YouTube extends HTMLPurifier_Filter
6 public $name = 'YouTube';
8 public function preFilter($html, $config, $context) {
9 $pre_regex = '#<object[^>]+>.+?'.
10 'http://www.youtube.com/v/([A-Za-z0-9\-_]+).+?</object>#s';
11 $pre_replace = '<span class="youtube-embed">\1</span>';
12 return preg_replace($pre_regex, $pre_replace, $html);
15 public function postFilter($html, $config, $context) {
16 $post_regex = '#<span class="youtube-embed">([A-Za-z0-9\-_]+)</span>#';
17 return preg_replace_callback($post_regex, array($this, 'postFilterCallback'), $html);
20 protected function armorUrl($url) {
21 return str_replace('--', '-&#45;', $url);
24 protected function postFilterCallback($matches) {
25 $url = $this->armorUrl($matches[1]);
26 return '<object width="425" height="350" type="application/x-shockwave-flash" '.
27 'data="http://www.youtube.com/v/'.$url.'">'.
28 '<param name="movie" value="http://www.youtube.com/v/'.$url.'"></param>'.
29 '<!--[if IE]>'.
30 '<embed src="http://www.youtube.com/v/'.$url.'"'.
31 'type="application/x-shockwave-flash"'.
32 'wmode="transparent" width="425" height="350" />'.
33 '<![endif]-->'.
34 '</object>';
39 // vim: et sw=4 sts=4