用正則,從指定起始位置,在源字符串之中截取定長字符串_PHP教程
Jul 13, 2016 pm 04:58 PM[代碼]用正則, 從指定起始位置, 在源字符串之中截取定長字符串(含中文)[第四版]
[代碼]用正則, 從指定起始位置開始, 在源字符串之中截取一定長度的字符串[第四版]
[代碼]使用正則表達(dá)式, 從指定的起始位置開始, 在源字符串之中截取一定長度的字符串[第四次修正]
[代碼]使用正則表達(dá)式, 從字符串頭部開始, 在源字符串之中截取一定字節(jié)長度的字符串
[代碼]使用正則表達(dá)式, 從指定的起始位置開始, 在源字符串之中截取一定長度的字符串
(BTW: 中文編碼很復(fù)雜也有些不合理的地方 高位是 0xa1-0xfe (不含 0xff 因為 0xff即 255在telnet協(xié)議中有重要作用), 低位 0x40-0xfe; 而 GBK 為了和 unicode 映射把高位擴展到了 0x81-0xfe
對于最后字節(jié)是否截取錯誤中文的說明:
最后一個字節(jié),假如截取了中文的一半,那么應(yīng)該是高位字節(jié),其ASCII碼大于0x81的。
因為中文的高位字節(jié)都是大于0x81的,而低位字節(jié)不限。
一個完整的漢字:[0x81-0xfe][0x40-0xfe]
故使用正則表達(dá)式,依次取出漢字和非漢字,漢字優(yōu)先。
最后一個字節(jié),假如截取了中文的一半,那么她將是一個非漢字,而且是漢字的高位字節(jié)
而判定這個字節(jié)是否在[0x81-0xfe],即可知道是否截取錯誤。
// ---------------------------------------------------------------
// File name : preg_substr.php
// Description : 使用正則表達(dá)式, 從指定的起始位置開始, 在源字符串之中截取一定程度的字符串
// -----------------------------------------------------------
/// 函數(shù)說明
/// 函數(shù)名稱 : preg_substr
/// 函數(shù)版本 : 第四次修訂
/// 函數(shù)功能 : 使用正則表達(dá)式, 從指定的起始位置開始, 在源字符串之中截取一定程度的字符串
/// 函數(shù)參數(shù) :
/// $strSource : 源字符串
/// $intStart : 起始位置, 默認(rèn)為0表示從頭開始
/// $intLen : 截取長度, 默認(rèn)為32
function preg_substr($strSource, $intStart=0, $intLen=32)
{
is_int($intLen) ?0:die("len isn't a integer");
is_int($intStart) ?0:die("start isn't a integer");
if ($intStart>=0 && $intLen>0 && @preg_match('/^(.{'.$intStart.'})(.{0,'.$intLen.'})/si', $strSource)) {
@preg_match('/^(.{'.$intStart.'})(.{0,'.$intLen.'})/si', $strSource, $regs);
@preg_match_all('/([x81-xFE].|.)/sim', $regs[1], $regs1, PREG_PATTERN_ORDER);
@preg_match('/^[x81-xFE]$/',$regs1[1][count($regs1[1])-1])?$intStart--:0;
@preg_match('/^(.{'.$intStart.'})(.{0,'.$intLen.'})/si', $strSource, $regs);
@preg_match_all('/([x81-xFE].|.)/sim', $regs[2], $regs1, PREG_PATTERN_ORDER);
@preg_match('/^[x81-xFE]$/',$regs1[1][count($regs1[1])-1])?$intLen--:0;
@preg_match('/^(.{'.$intStart.'})(.{0,'.$intLen.'})/si', $strSource, $regs);
$strResult = $regs[2];
}else{
$strResult = "";
}
return $strResult;
}
function preg_substr2($strSource, $intStart=0, $intLen=32)
{
is_int($intLen) ?0:die("len isn't a integer");
is_int($intStart) ?0:die("start isn't a integer");
if ($intStart>=0 && $intLen>=0)
{
$strResult = substr($strSource, 0, $intStart);
@preg_match_all('/([x81-xFE].|.)/sim', $strResult, $regs, PREG_PATTERN_ORDER);
if(@preg_match('/^[x81-xFE]$/',$regs[1][count($regs[1])-1], $regs)){
$intStart--;
}
$strResult = substr($strSource, $intStart, $intLen);
@preg_match_all('/([x81-xFE].|.)/sim', $strResult, $regs, PREG_PATTERN_ORDER);
if(@preg_match('/^[x81-xFE]$/',$regs[1][count($regs[1])-1], $regs)){
$strResult = substr($strSource, $intStart, --$intLen);
}
}
return $strResult;
}
$strHTML =
ab

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??????? ?? ?? ??? ????? ??? ??? ????. ?? ?? ??? ???? ?? ??? ???? ?? ??? ?? ??? ?? ??? ??? ? ????. Visual Studio Code? ?? ??? Copilot ??? ???? ??? ?? ?? ??? ?? AI ?? ??? ?? ? ????. ??? ?????? ?? ??? ??? ? ? ??? ? ????. Copilot? ???? ??? ???? ??? ?????? ????? ?? ?? PowerPlatformTools ??? ???? ???. ?? ???? ?? ???? ???? "PowerPlatformTool"? ???? ?? ??? ???? ???.

?? ? ??? ??? ?? ? ???? ???? ? 20??? ???? ?? ????. ?? ????? ??? ?? ? ???? ??? ?? ?? ?? ??? ??? ?? ????. ???? ?? ??? ?? ?? ? ?? ?? ?? ??? ????????. . ?? ???? ???? Croaker Film and Television Park? ???? ? ??? ?? ?? ??? ?????. ??? ???? ?? ??? ???? ??????? ????? ?? 1, ??????? 1? 2, ??????? 2?

1. ?? pycharm? ?? pycharm ????? ?????. 2. ?? ?? ? Python ????? ???? ??? ??? ??? ???? ?? ???? ??? ? Pythonfile? ?????. 3. ???(??: s="-")? ?????. 4. ?? ?? ???? ??? 20? ???? ???(??: s1=s*20). 5. ?? ?? ??(??: print(s1))? ?????. 6. ????? ????? ???? ??? ?? ?? ?????. - 20? ?????.

1. ????? ????? ?? ???? ?? ??? ????? ??? ?????. 2. ????? ??? ???? ???? ?, ?????? ???? ??? ?????, ?? ????? ???. 3. ??? ???? ??? ? ?? ??? ? ? ??? ??? ???? ?? ?? ? ??? ?? ? ????.

PHP?? int ??? ???? ???? ??? ?? ??? ?? PHP ???? int ??? ??? ???? ???? ?? ??? ?? ????. ? ??? ??? ???? ??? ? ????. ? ????? ??? ??? ?? ?? ?? ?? ??? ?? ? ?? ???? ??? ??? ?????. 1. PHP ?? ?? strval()? ?????. PHP? ??? ??? ??? ??? ???? ??? ? ?? ?? ?? strval()? ?????. int?? string??? ???? ? ?,

???? ? ??? ?? ??? ???? Kuaishou? ?? ?????? ??? ??? ???? ??? ?? ??? ? ?? ??? ?????. ??? ???? ? ?? ?? ??? ??? ???? ??? ??? ??? ?? ???????? ?? ? ????. ? ????? Kuaishou ??? ?? ??? ???? ??? ???? Kuaishou ??? ??? ?? ? ?? ?? ???? ? ???? ? ? ???? ??? ??? ? ??? ??????. 1. Kuaishou? ??? ???? ??? ???? ??? ?????? 1. ?? ?????: Kuaishou ??? "??" ??? ???? ??? ?? ?????? ?????. 2. ?? ??: ?? ??????? '??' ?? ????. ???? ?? ?? ?????? ?????. 3. ?? ??: ?? ?? ??????? '??' ??? ???? ?? ??? ? ? ????. ??? ????? "??"? ?????.

2023? 3? 14? ChatGLM-6B? ??? ?? GLM ??? ??? ???? ??? ??? ?????. ?? ChatGLM3-6B? ????? ??? ?? ????? Zhipu AI? ???? 4?? ??? ?? ???? ?????. ??? ??? ??? GLM-4-9B? ??? ??? ???????. GLM-4-9B? ?? ?? ??(10B ??)? ?? ??? ??? ???? ?? GLM ???? ? ?? ?? ??? 4?? GLM ??? ?? ?? ??? GLM-4-9B? ??????. ??. ? ??? ???? ????? ?? ??? ?? ???? ?? ??? ? ??? ???? ????. GLM ???? ??? ?? ????? ?????.

GoLang? ???? ??? ? ??? ?? ??? ???? ???? ??? ? ????. ??? ??? ???? ??? ??. ??? ??? ???? ? ???? ????. ???? ?? ??? ??? ?????. ?? ??????? ???? ?? ??? ??? ??? ?????.
