diff options
author | Max Kostikov <max@kostikov.co> | 2019-08-09 16:59:14 +0200 |
---|---|---|
committer | Max Kostikov <max@kostikov.co> | 2019-08-09 16:59:14 +0200 |
commit | af690b64d6b0615c0f5f71ece2e2c75326d58092 (patch) | |
tree | 09b9db0b6e5565b5de58591e7247bb2f257502ef | |
parent | 4382e53acbd9e5fa071428a6f365a637561f6820 (diff) | |
download | volse-hubzilla-af690b64d6b0615c0f5f71ece2e2c75326d58092.tar.gz volse-hubzilla-af690b64d6b0615c0f5f71ece2e2c75326d58092.tar.bz2 volse-hubzilla-af690b64d6b0615c0f5f71ece2e2c75326d58092.zip |
More intelligent quotation shortening while link embedding
-rw-r--r-- | Zotlabs/Module/Linkinfo.php | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Zotlabs/Module/Linkinfo.php b/Zotlabs/Module/Linkinfo.php index b9f90deec..1551d1f26 100644 --- a/Zotlabs/Module/Linkinfo.php +++ b/Zotlabs/Module/Linkinfo.php @@ -275,7 +275,7 @@ class Linkinfo extends \Zotlabs\Web\Controller { // Check codepage in HTTP headers or HTML if not exist $cp = (preg_match('/Content-Type: text\/html; charset=(.+)\r\n/i', $header, $o) ? $o[1] : ''); if(empty($cp)) - $cp = (preg_match('/meta.+content=["|\']text\/html; charset=([^"|\']+)/i', $body, $o) ? $o[1] : 'AUTO'); + $cp = (preg_match('/meta.+content=["\']text\/html; charset=([^"\']+)/i', $body, $o) ? $o[1] : 'AUTO'); $body = mb_convert_encoding($body, 'UTF-8', $cp); $body = mb_convert_encoding($body, 'HTML-ENTITIES', "UTF-8"); @@ -444,8 +444,9 @@ class Linkinfo extends \Zotlabs\Web\Controller { while (strpos($text, " ")) $text = trim(str_replace(" ", " ", $text)); - - $siteinfo["text"] = html_entity_decode(substr($text,0,350), ENT_QUOTES, "UTF-8").'...'; + + $text = substr(html_entity_decode($text, ENT_QUOTES, "UTF-8"), 0, 350); + $siteinfo["text"] = rtrim(substr($text, 0, strrpos($text, " ")), "?.,:;!-") . '...'; } } |