mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 17:21:39 +09:00
Fix broken emoji and other HTML entities when using cut_str()
https://xetown.com/questions/1855257
This commit is contained in:
parent
651fa56c4f
commit
00db2ab402
2 changed files with 4 additions and 1 deletions
|
|
@ -495,7 +495,8 @@ function cut_str($string, $cut_size = 0, $tail = '...'): string
|
|||
if(isset($GLOBALS['use_mb_strimwidth']) || function_exists('mb_strimwidth'))
|
||||
{
|
||||
$GLOBALS['use_mb_strimwidth'] = TRUE;
|
||||
return mb_strimwidth($string, 0, $cut_size + 4, $tail, 'utf-8');
|
||||
$string = html_entity_decode($string);
|
||||
return escape(mb_strimwidth($string, 0, $cut_size + 4, $tail, 'utf-8'));
|
||||
}
|
||||
|
||||
$chars = array(12, 4, 3, 5, 7, 7, 11, 8, 4, 5, 5, 6, 6, 4, 6, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 8, 6, 8, 6, 10, 8, 8, 9, 8, 8, 7, 9, 8, 3, 6, 7, 7, 11, 8, 9, 8, 9, 8, 8, 7, 8, 8, 10, 8, 8, 8, 6, 11, 6, 6, 6, 4, 7, 7, 7, 7, 7, 3, 7, 7, 3, 3, 6, 3, 9, 7, 7, 7, 7, 4, 7, 3, 7, 6, 10, 6, 6, 7, 6, 6, 6, 9);
|
||||
|
|
|
|||
|
|
@ -81,6 +81,8 @@ class LegacyTest extends \Codeception\Test\Unit
|
|||
{
|
||||
$this->assertEquals('안녕하세요? 라이믹스...', cut_str('안녕하세요? 라이믹스입니다. 제목이 너무 길어서 잘립니다.', 20));
|
||||
$this->assertEquals('Hello? This is Rhymix...', cut_str('Hello? This is Rhymix. This title is very long.', 20));
|
||||
$this->assertEquals('Hello <world> 😁', cut_str('Hello <world> 😁', 20));
|
||||
$this->assertEquals('Hello "Rhymix" test &...', cut_str('Hello "Rhymix" test &amp;', 20));
|
||||
}
|
||||
|
||||
public function testTimeFunctions()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue