aboutsummaryrefslogtreecommitdiffstats
path: root/library/HTMLPurifier/Filter/YouTube.php
diff options
context:
space:
mode:
Diffstat (limited to 'library/HTMLPurifier/Filter/YouTube.php')
-rw-r--r--library/HTMLPurifier/Filter/YouTube.php56
1 files changed, 41 insertions, 15 deletions
diff --git a/library/HTMLPurifier/Filter/YouTube.php b/library/HTMLPurifier/Filter/YouTube.php
index 23df221ea..411519ad6 100644
--- a/library/HTMLPurifier/Filter/YouTube.php
+++ b/library/HTMLPurifier/Filter/YouTube.php
@@ -3,36 +3,62 @@
class HTMLPurifier_Filter_YouTube extends HTMLPurifier_Filter
{
+ /**
+ * @type string
+ */
public $name = 'YouTube';
- public function preFilter($html, $config, $context) {
- $pre_regex = '#<object[^>]+>.+?'.
+ /**
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function preFilter($html, $config, $context)
+ {
+ $pre_regex = '#<object[^>]+>.+?' .
'http://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?</object>#s';
$pre_replace = '<span class="youtube-embed">\1</span>';
return preg_replace($pre_regex, $pre_replace, $html);
}
- public function postFilter($html, $config, $context) {
+ /**
+ * @param string $html
+ * @param HTMLPurifier_Config $config
+ * @param HTMLPurifier_Context $context
+ * @return string
+ */
+ public function postFilter($html, $config, $context)
+ {
$post_regex = '#<span class="youtube-embed">((?:v|cp)/[A-Za-z0-9\-_=]+)</span>#';
return preg_replace_callback($post_regex, array($this, 'postFilterCallback'), $html);
}
- protected function armorUrl($url) {
+ /**
+ * @param $url
+ * @return string
+ */
+ protected function armorUrl($url)
+ {
return str_replace('--', '-&#45;', $url);
}
- protected function postFilterCallback($matches) {
+ /**
+ * @param array $matches
+ * @return string
+ */
+ protected function postFilterCallback($matches)
+ {
$url = $this->armorUrl($matches[1]);
- return '<object width="425" height="350" type="application/x-shockwave-flash" '.
- 'data="http://www.youtube.com/'.$url.'">'.
- '<param name="movie" value="http://www.youtube.com/'.$url.'"></param>'.
- '<!--[if IE]>'.
- '<embed src="http://www.youtube.com/'.$url.'"'.
- 'type="application/x-shockwave-flash"'.
- 'wmode="transparent" width="425" height="350" />'.
- '<![endif]-->'.
- '</object>';
-
+ return '<object width="425" height="350" type="application/x-shockwave-flash" ' .
+ 'data="http://www.youtube.com/' . $url . '">' .
+ '<param name="movie" value="http://www.youtube.com/' . $url . '"></param>' .
+ '<!--[if IE]>' .
+ '<embed src="http://www.youtube.com/' . $url . '"' .
+ 'type="application/x-shockwave-flash"' .
+ 'wmode="transparent" width="425" height="350" />' .
+ '<![endif]-->' .
+ '</object>';
}
}