Heim > Artikel > Backend-Entwicklung > PHP implementiert das benutzerdefinierte Abfangen chinesischer Zeichenfolgen in der UTF8-Version
In diesem Artikel wird hauptsächlich die Methode zum benutzerdefinierten Abfangen chinesischer Zeichenfolgen in PHP vorgestellt, die einen sehr guten Referenzwert hat. Schauen wir uns das mit dem Editor an.
Zuallererst gibt es viele davon Codes für dieses Problem im Internet, aber viele davon werden kopiert und eingefügt, ohne dass ich selbst geübt habe, und der Code weist logische Probleme auf. Der folgende Code wurde von mir selbst geschrieben.
Es gibt nicht viel zu sagen
/** * 该函数是对于utf8编码 * @author 2582308253@qq.com * @param string $str * @param int $start * @param int $length * @return string * @copyright 2017年2月27日下午1:46:10 */ function gbsubstr2($str, $start, $length) { $length = abs($length); $strLen = strlen($str); $len = $start + $length; $newStr = ''; for($i = $start; $i < $len && $i < $strLen; $i++) { if(ord(substr($str, $i, 1)) > 0xa0) { //utf8编码中一个汉字是占据3个字节的,对于其他的编码的字符串,中文占据的字节各有不同,自己需要去修改这个数a $newStr .= substr($str, $i, 3);//此处a=3; $i+=2; $len += 2; //截取了三个字节之后,截取字符串的终止偏移量也要随着每次汉字的截取增加a-1; } else { $newStr .= substr($str, $i, 1); } } return $newStr; }
Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, das wird so sein hilfreich für das Studium aller.
Verwandte Empfehlungen:
So generieren Sie eine oder mehrere Gruppen zufälliger Strings in PHP
php preg_match matchstringlength case parsing
PHP preg_match matchstringDetaillierte Erklärung von Längenschritten
Das obige ist der detaillierte Inhalt vonPHP implementiert das benutzerdefinierte Abfangen chinesischer Zeichenfolgen in der UTF8-Version. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!