]> git.immae.eu Git - github/wallabag/wallabag.git/blame - inc/3rdparty/htmlpurifier/HTMLPurifier/Filter/YouTube.php
remove autoload section in composer.json
[github/wallabag/wallabag.git] / inc / 3rdparty / htmlpurifier / HTMLPurifier / Filter / YouTube.php
CommitLineData
d4949327
NL
1<?php\r
2\r
3class HTMLPurifier_Filter_YouTube extends HTMLPurifier_Filter\r
4{\r
5\r
6 /**\r
7 * @type string\r
8 */\r
9 public $name = 'YouTube';\r
10\r
11 /**\r
12 * @param string $html\r
13 * @param HTMLPurifier_Config $config\r
14 * @param HTMLPurifier_Context $context\r
15 * @return string\r
16 */\r
17 public function preFilter($html, $config, $context)\r
18 {\r
19 $pre_regex = '#<object[^>]+>.+?' .\r
20 'http://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?</object>#s';\r
21 $pre_replace = '<span class="youtube-embed">\1</span>';\r
22 return preg_replace($pre_regex, $pre_replace, $html);\r
23 }\r
24\r
25 /**\r
26 * @param string $html\r
27 * @param HTMLPurifier_Config $config\r
28 * @param HTMLPurifier_Context $context\r
29 * @return string\r
30 */\r
31 public function postFilter($html, $config, $context)\r
32 {\r
33 $post_regex = '#<span class="youtube-embed">((?:v|cp)/[A-Za-z0-9\-_=]+)</span>#';\r
34 return preg_replace_callback($post_regex, array($this, 'postFilterCallback'), $html);\r
35 }\r
36\r
37 /**\r
38 * @param $url\r
39 * @return string\r
40 */\r
41 protected function armorUrl($url)\r
42 {\r
43 return str_replace('--', '-&#45;', $url);\r
44 }\r
45\r
46 /**\r
47 * @param array $matches\r
48 * @return string\r
49 */\r
50 protected function postFilterCallback($matches)\r
51 {\r
52 $url = $this->armorUrl($matches[1]);\r
53 return '<object width="425" height="350" type="application/x-shockwave-flash" ' .\r
54 'data="http://www.youtube.com/' . $url . '">' .\r
55 '<param name="movie" value="http://www.youtube.com/' . $url . '"></param>' .\r
56 '<!--[if IE]>' .\r
57 '<embed src="http://www.youtube.com/' . $url . '"' .\r
58 'type="application/x-shockwave-flash"' .\r
59 'wmode="transparent" width="425" height="350" />' .\r
60 '<![endif]-->' .\r
61 '</object>';\r
62 }\r
63}\r
64\r
65// vim: et sw=4 sts=4\r