English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PHP قطع النصوص UTF8
في PHP، نحتاج إلى قطع النصوص غالبًا. حرف إنجليزي يأخذ بايتًا واحدًا، والصيني يأخذ بايتين، ولكن بايتين للصيني هي بالنسبة لم编码 GBK، ولكن في الترميز الشائع الآن UTF8، يحتاج حرف صيني إلى ثلاثة بايت. هذا المقال يقدم لك دالة PHP لقطع النصوص في تنسيق UTF8.
مثال على ذلك:
function truncate_utf8_string($string, $length, $etc = '...') { $result = ''; $string = html_entity_decode ( trim ( strip_tags ( $string ) ), ENT_QUOTES, 'UTF-8' ); $strlen = strlen ( $string ); للبدء ($i = 0; (($i < $strlen) && ($length > 0)); $i ++) { إذا كان ($number = strpos ( str_pad ( decbin ( ord ( substr ( $string, $i, 1 ) ) ), 8, '0', STR_PAD_LEFT ), '0' )) { if ($length < 1.0) {}} break; } $result .= substr ($string, $i, $number ); $length -= 1.0; $i += $number - 1; } else { $result .= substr ($string, $i, 1 ); $length -= 0.5; } } $result = htmlspecialchars ($result, ENT_QUOTES, 'UTF-8' ); if ($i < $strlen) { $result .= $etc; } return $result; }
إذا كنت بحاجة إلى قطع نص utf-8، يمكنك تفعيل هذه الوظيفة فقط。
<?php $str="إذا كنت بحاجة إلى قطع نص utf-8، يمكنك تفعيل هذه الوظيفة فقط."; echo truncate_utf8_string($str,10);//نتيجة الظهور: إذا كنت بحاجة إلى قطع نص utf-8... ?>
شكراً على القراءة، آمل أن تساعدكم، شكراً لدعمكم لهذا الموقع!