From: friendica Date: Wed, 22 Feb 2012 07:13:03 +0000 (-0800) Subject: escape smiley conversion in code and pre blocks X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=91c334902565b2ceb7fd26735b4d501973e28557;p=friendica.git escape smiley conversion in code and pre blocks --- diff --git a/include/text.php b/include/text.php index 5ef870fd75..38ac58a6c3 100755 --- a/include/text.php +++ b/include/text.php @@ -681,6 +681,9 @@ if(! function_exists('smilies')) { function smilies($s, $sample = false) { $a = get_app(); + $s = preg_replace_callback('/
(.*?)<\/pre>/ism','smile_encode',$s);
+	$s = preg_replace_callback('/(.*?)<\/code>/ism','smile_encode',$s);
+
 	$texts =  array( 
 		'<3', 
 		'</3', 
@@ -777,10 +780,24 @@ function smilies($s, $sample = false) {
 		$s = str_replace($params['texts'],$params['icons'],$params['string']);
 	}
 
+	$s = preg_replace_callback('/
(.*?)<\/pre>/ism','smile_decode',$s);
+	$s = preg_replace_callback('/(.*?)<\/code>/ism','smile_decode',$s);
+
 	return $s;
 
 }}
 
+function smile_encode($m) {
+	return(str_replace($m[1],base64url_encode($m[1]),$m[0]));
+}
+
+function smile_decode($m) {
+	return(str_replace($m[1],base64url_decode($m[1]),$m[0]));
+}
+
+
+
+
 if(! function_exists('day_translate')) {
 function day_translate($s) {
 	$ret = str_replace(array('Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday'),