From 6a02dfd5aa63f1a003ace12126d9439bf784528c Mon Sep 17 00:00:00 2001 From: Savetheinternet Date: Wed, 7 Dec 2011 17:47:36 +1100 Subject: use multibyte-aware mb_strlen() instead of strlen(); fixed issue #8) --- mod.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'mod.php') diff --git a/mod.php b/mod.php index 5822e3b5..970586b0 100644 --- a/mod.php +++ b/mod.php @@ -1360,10 +1360,10 @@ // Bug fix for https://github.com/savetheinternet/Tinyboard/issues/21 $po->body = truncate($po->body, $po->link(), $config['body_truncate'] - substr_count($append_html, '
')); - if(strlen($po->body) + strlen($append_html) > $config['body_truncate_char']) { + if(mb_strlen($po->body) + mb_strlen($append_html) > $config['body_truncate_char']) { // still too long. temporarily increase limit in the config $__old_body_truncate_char = $config['body_truncate_char']; - $config['body_truncate_char'] = strlen($po->body) + strlen($append_html); + $config['body_truncate_char'] = mb_strlen($po->body) + mb_strlen($append_html); } $po->body .= $append_html; @@ -1731,7 +1731,7 @@ if(empty($value)) $value = 'empty'; else - $value = '' . utf8tohtml(substr($value, 0, 110) . (strlen($value) > 110 ? '…' : '')) . ''; + $value = '' . utf8tohtml(substr($value, 0, 110) . (mb_strlen($value) > 110 ? '…' : '')) . ''; } elseif(gettype($value) == 'integer') { $value = '' . $value . ''; } @@ -1787,11 +1787,11 @@ error(sprintf($config['error']['required'], 'title')); // Check string lengths - if(strlen($b['uri']) > 8) + if(mb_strlen($b['uri']) > 8) error(sprintf($config['error']['toolong'], 'URI')); - if(strlen($b['title']) > 20) + if(mb_strlen($b['title']) > 20) error(sprintf($config['error']['toolong'], 'title')); - if(strlen($b['subtitle']) > 40) + if(mb_strlen($b['subtitle']) > 40) error(sprintf($config['error']['toolong'], 'subtitle')); if(!preg_match('/^\w+$/', $b['uri'])) -- cgit v1.3