From e5e3b478dc4bf79fe17e6af3b03619159d97f194 Mon Sep 17 00:00:00 2001 From: cypherbits Date: Sat, 1 Aug 2020 21:14:39 +0200 Subject: [PATCH] Fix link filters, image embeds, and redirects. --- chat.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/chat.php b/chat.php index 467fb74..facdf75 100644 --- a/chat.php +++ b/chat.php @@ -3004,9 +3004,9 @@ function apply_filter($message, $poststatus, $nickname){ function apply_linkfilter($message){ $filters=get_linkfilters(); foreach($filters as $filter){ - $message=preg_replace_callback("/(.*?(?=<\/a>))<\/a>/iu", + $message=preg_replace_callback("/(.*?(?=<\/a>))<\/a>/iu", function ($matched) use(&$filter){ - return "".preg_replace("/$filter[match]/iu", $filter['replace'], $matched[2]).''; + return "".preg_replace("/$filter[match]/iu", $filter['replace'], $matched[2]).''; } , $message); } @@ -3014,7 +3014,7 @@ function apply_linkfilter($message){ if(get_setting('imgembed')){ $message=preg_replace_callback('/\[img\]\s?(.*?(?=<\/a>))<\/a>/iu', function ($matched){ - return str_ireplace('[/img]', '', "

"); + return str_ireplace('[/img]', '', "

"); } , $message); } @@ -3022,17 +3022,17 @@ function apply_linkfilter($message){ $redirect="$_SERVER[SCRIPT_NAME]?action=redirect&url="; } if(get_setting('forceredirect')){ - $message=preg_replace_callback('/(.*?(?=<\/a>))<\/a>/u', + $message=preg_replace_callback('/(.*?(?=<\/a>))<\/a>/u', function ($matched) use($redirect){ - return "$matched[2]"; + return "$matched[2]"; } , $message); - }elseif(preg_match_all('/(.*?(?=<\/a>))<\/a>/u', $message, $matches)){ + }elseif(preg_match_all('/(.*?(?=<\/a>))<\/a>/u', $message, $matches)){ foreach($matches[1] as $match){ if(!preg_match('~^http(s)?://~u', $match)){ - $message=preg_replace_callback('/(.*?(?=<\/a>))<\/a>/u', + $message=preg_replace_callback('/(.*?(?=<\/a>))<\/a>/u', function ($matched) use($redirect){ - return "$matched[2]"; + return "$matched[2]"; } , $message); }