summaryrefslogtreecommitdiff
path: root/functions.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-11-13 01:02:41 +0300
committerAndrew Dolgov <[email protected]>2010-11-13 01:02:41 +0300
commit35ffb5b91d99cde891f1d983cfe42a369e5e04c5 (patch)
tree6c736e72c7c10f920d762f608e6f0246aca6c2aa /functions.php
parenta7f003e0e0a4c4a3218a4938136038e80f642245 (diff)
sanitize_rss: small speed improvement
Diffstat (limited to 'functions.php')
-rw-r--r--functions.php49
1 files changed, 9 insertions, 40 deletions
diff --git a/functions.php b/functions.php
index 6508320bb..b952a5bae 100644
--- a/functions.php
+++ b/functions.php
@@ -117,6 +117,13 @@
require_once 'lib/magpierss/rss_utils.inc';
require_once 'lib/htmlpurifier/library/HTMLPurifier.auto.php';
+ $config = HTMLPurifier_Config::createDefault();
+
+ $allowed = "p,a[href],i,em,b,strong,code,pre,blockquote,br,img[src|alt|title],ul,ol,li,h1,h2,h3,h4";
+
+ $config->set('HTML', 'Allowed', $allowed);
+ $purifier = new HTMLPurifier($config);
+
/**
* Print a timestamped debug message.
*
@@ -3682,53 +3689,15 @@
}
}
- function strip_tags_long($string, $allowed) {
-
- $config = HTMLPurifier_Config::createDefault();
-
- $config->set('HTML', 'Allowed', $allowed);
- $purifier = new HTMLPurifier($config);
-
- return $purifier->purify($string);
-
- }
-
- // http://ru2.php.net/strip-tags
-
-/* function strip_tags_long($textstring, $allowed){
- while($textstring != strip_tags($textstring, $allowed))
- {
- while (strlen($textstring) != 0)
- {
- if (strlen($textstring) > 1024) {
- $otherlen = 1024;
- } else {
- $otherlen = strlen($textstring);
- }
- $temptext = strip_tags(substr($textstring,0,$otherlen), $allowed);
- $safetext .= $temptext;
- $textstring = substr_replace($textstring,'',0,$otherlen);
- }
- $textstring = $safetext;
- }
- return $textstring;
-} */
-
-
function sanitize_rss($link, $str, $force_strip_tags = false, $owner = false, $site_url = false) {
+ global $purifier;
if (!$owner) $owner = $_SESSION["uid"];
$res = trim($str); if (!$res) return '';
if (get_pref($link, "STRIP_UNSAFE_TAGS", $owner) || $force_strip_tags) {
-
-// $res = strip_tags_long($res,
-// "<p><a><i><em><b><strong><code><pre><blockquote><br><img><ul><ol><li>");
-
- $res = strip_tags_long($res,
- "p,a[href],i,em,b,strong,code,pre,blockquote,br,img[src|alt|title],ul,ol,li,h1,h2,h3,h4");
-
+ $res = $purifier->purify($res);
}
if (get_pref($link, "STRIP_IMAGES", $owner)) {