diff options
Diffstat (limited to 'include/text.php')
-rw-r--r-- | include/text.php | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/include/text.php b/include/text.php index dbb0f4434..fa16a16a1 100644 --- a/include/text.php +++ b/include/text.php @@ -4,6 +4,7 @@ */ require_once("include/bbcode.php"); +require_once('include/hubloc.php'); // random string, there are 86 characters max in text mode, 128 for hex // output is urlsafe @@ -1736,6 +1737,36 @@ function zidify_links($s) { return $s; } + + + +function zidify_text_callback($match) { + $is_zid = is_matrix_url($match[2]); + $replace = '<a' . $match[1] . ' href="' . (($is_zid) ? zid($match[2]) : $match[2]) . '"'; + $x = str_replace($match[0],$replace,$match[0]); + + return $x; +} + +function zidify_text_img_callback($match) { + $is_zid = is_matrix_url($match[2]); + $replace = '<img' . $match[1] . ' src="' . (($is_zid) ? zid($match[2]) : $match[2]) . '"'; + + $x = str_replace($match[0],$replace,$match[0]); + + return $x; +} + +function zidify_text($s) { + + $s = preg_replace_callback('/\<a(.*?)href\=\"(.*?)\"/ism','zidify_text_callback',$s); + $s = preg_replace_callback('/\<img(.*?)src\=\"(.*?)\"/ism','zidify_text_img_callback',$s); + + return $s; + + +} + /** * @brief Return atom link elements for all of our hubs. * |