国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) php教程 php手冊(cè) 用正則,從指定起始位置,在源字符串之中截取定長(zhǎng)字符串

用正則,從指定起始位置,在源字符串之中截取定長(zhǎng)字符串

Jun 13, 2016 am 10:02 AM
程式碼 位置 字串 截取 指定 正規(guī)則 來(lái)源 起始

[代碼]用正則, 從指定起始位置, 在源字符串之中截取定長(zhǎng)字符串(含中文)[第四版]
[代碼]用正則, 從指定起始位置開始, 在源字符串之中截取一定長(zhǎng)度的字符串[第四版]
[代碼]使用正則表達(dá)式, 從指定的起始位置開始, 在源字符串之中截取一定長(zhǎng)度的字符串[第四次修正]
[代碼]使用正則表達(dá)式, 從字符串頭部開始, 在源字符串之中截取一定字節(jié)長(zhǎng)度的字符串
[代碼]使用正則表達(dá)式, 從指定的起始位置開始, 在源字符串之中截取一定長(zhǎng)度的字符串

(BTW: 中文編碼很復(fù)雜也有些不合理的地方 高位是 0xa1-0xfe (不含 0xff 因?yàn)?0xff即 255在telnet協(xié)議中有重要作用), 低位 0x40-0xfe; 而 GBK 為了和 unicode 映射把高位擴(kuò)展到了 0x81-0xfe


對(duì)于最后字節(jié)是否截取錯(cuò)誤中文的說(shuō)明:
最后一個(gè)字節(jié),假如截取了中文的一半,那么應(yīng)該是高位字節(jié),其ASCII碼大于0x81的。
因?yàn)橹形牡母呶蛔止?jié)都是大于0x81的,而低位字節(jié)不限。
一個(gè)完整的漢字:[0x81-0xfe][0x40-0xfe]
故使用正則表達(dá)式,依次取出漢字和非漢字,漢字優(yōu)先。
最后一個(gè)字節(jié),假如截取了中文的一半,那么她將是一個(gè)非漢字,而且是漢字的高位字節(jié)
而判定這個(gè)字節(jié)是否在[0x81-0xfe],即可知道是否截取錯(cuò)誤。


// ---------------------------------------------------------------
// File name : preg_substr.php
// Description : 使用正則表達(dá)式, 從指定的起始位置開始, 在源字符串之中截取一定程度的字符串
// -----------------------------------------------------------

/// 函數(shù)說(shuō)明
/// 函數(shù)名稱 : preg_substr
/// 函數(shù)版本 : 第四次修訂
/// 函數(shù)功能 : 使用正則表達(dá)式, 從指定的起始位置開始, 在源字符串之中截取一定程度的字符串
/// 函數(shù)參數(shù) :
/// $strSource : 源字符串
/// $intStart : 起始位置, 默認(rèn)為0表示從頭開始
/// $intLen : 截取長(zhǎng)度, 默認(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

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1600
29
PHP教程
1502
276
如何使用Copilot產(chǎn)生程式碼 如何使用Copilot產(chǎn)生程式碼 Mar 23, 2024 am 10:41 AM

身為一名程式設(shè)計(jì)師,對(duì)於能夠簡(jiǎn)化程式設(shè)計(jì)體驗(yàn)的工具,我感到非常興奮。借助人工智慧工具的幫助,我們可以產(chǎn)生演示程式碼,並根據(jù)需求進(jìn)行必要的修改。在VisualStudioCode中新引入的Copilot工具讓我們能夠創(chuàng)建具有自然語(yǔ)言聊天互動(dòng)的AI生成程式碼。透過(guò)解釋功能,我們可以更好地理解現(xiàn)有程式碼的含義。如何使用Copilot產(chǎn)生程式碼?要開始,我們首先需要取得最新的PowerPlatformTools擴(kuò)充。要實(shí)現(xiàn)這一點(diǎn),你需要進(jìn)入擴(kuò)充頁(yè)面,搜尋“PowerPlatformTool”,然後點(diǎn)擊Install按鈕

星穹鐵道克勞克影視樂園摺紙小鳥位置 星穹鐵道克勞克影視樂園摺紙小鳥位置 Mar 27, 2024 pm 11:51 PM

星穹鐵道克勞克影視樂園總共有20隻摺紙小鳥,有很多玩家不知道克勞克影視樂園摺紙小鳥在哪,小編已經(jīng)把每隻摺紙小鳥位置全部都總結(jié)出來(lái)了,幫助大家進(jìn)行尋找,具體內(nèi)容一起來(lái)看看這篇克勞克影視樂園摺紙小鳥位置最新匯總。崩壞星穹鐵道攻略大全星穹鐵道克勞克影視樂園摺紙小鳥位置1、克勞克影視樂園一層2、克勞克影視樂園二層

怎麼重複字串_python重複字串教程 怎麼重複字串_python重複字串教程 Apr 02, 2024 pm 03:58 PM

1.先開啟pycharm,進(jìn)入到pycharm首頁(yè)。 2.然後新建python腳本,右鍵--點(diǎn)選new--點(diǎn)選pythonfile。 3.輸入一段字串,代碼:s="-"。 4.接著需要把字串裡面的符號(hào)重複20次,代碼:s1=s*20。5、輸入列印輸出代碼,代碼:print(s1)。 6.最後運(yùn)行腳本,在最底部會(huì)看到我們的回傳值:-就重複了20次。

美團(tuán)天天神券位置在哪_美團(tuán)天天神券位置介紹 美團(tuán)天天神券位置在哪_美團(tuán)天天神券位置介紹 Mar 27, 2024 pm 05:11 PM

1.我們打開手機(jī)中的美團(tuán),然後在首頁(yè)點(diǎn)選左上角的外帶選項(xiàng)。 2.進(jìn)入外帶的平臺(tái)頁(yè)面之後,在首頁(yè)就可以看到有天天神券的板塊了,直接點(diǎn)擊。 3.進(jìn)入天天神券之後,就會(huì)看到很多的活動(dòng),點(diǎn)擊完成,然後我們完成任務(wù)就可以獲得獎(jiǎng)勵(lì)了。

PHP中int型別轉(zhuǎn)字串的方法詳解 PHP中int型別轉(zhuǎn)字串的方法詳解 Mar 26, 2024 am 11:45 AM

PHP中int型別轉(zhuǎn)字串的方法詳解在PHP開發(fā)中,常會(huì)遇到將int型別轉(zhuǎn)換為字串型別的需求。這種轉(zhuǎn)換可以透過(guò)多種方式實(shí)現(xiàn),本文將詳細(xì)介紹幾種常用的方法,並附帶具體的程式碼範(fàn)例來(lái)幫助讀者更好地理解。一、使用PHP內(nèi)建函數(shù)strval()PHP提供了一個(gè)內(nèi)建函數(shù)strval(),可以將不同類型的變數(shù)轉(zhuǎn)換為字串類型。當(dāng)我們需要將int型別轉(zhuǎn)換為字串型別時(shí),

快手發(fā)佈於哪裡怎麼改位置?已經(jīng)上傳的影片怎麼加入位置? 快手發(fā)佈於哪裡怎麼改位置?已經(jīng)上傳的影片怎麼加入位置? Mar 21, 2024 pm 06:00 PM

作為國(guó)內(nèi)知名的短影片平臺(tái),快手為許多創(chuàng)作者提供了展現(xiàn)才華和分享生活的機(jī)會(huì)。在上傳影片時(shí),一些新手創(chuàng)作者可能會(huì)困惑於如何更改影片發(fā)布位置。本文將為您介紹快手影片發(fā)布位置的更改方法,並分享一些快手影片發(fā)布的技巧,幫助您更好地利用這個(gè)平臺(tái)展示自己的作品。一、快手發(fā)佈於哪裡怎麼改位置? 1.發(fā)布介面:在快手APP中,點(diǎn)選「發(fā)布」按鈕,進(jìn)入影片發(fā)佈介面。 2.位置資訊:在發(fā)佈介面,有「位置」欄,點(diǎn)選進(jìn)入位置選擇介面。 3.更改位置:在位置選擇介面,點(diǎn)選「定位」按鈕,可以查看目前所在位置。如需更改位置,點(diǎn)擊「位

清華大學(xué)與智譜AI重磅開源 GLM-4:掀起自然語(yǔ)言處理新革命 清華大學(xué)與智譜AI重磅開源 GLM-4:掀起自然語(yǔ)言處理新革命 Jun 12, 2024 pm 08:38 PM

自2023年3月14日開始,ChatGLM-6B以來(lái),GLM系列模型受到了廣泛的關(guān)注與認(rèn)可。特別是在ChatGLM3-6B開源之後,開發(fā)者對(duì)智譜AI推出的第四代模型充滿了期待。而這項(xiàng)期待,隨著GLM-4-9B的發(fā)布,終於得到了充分的滿足。 GLM-4-9B的誕生為了賦予小模型(10B及以下)更加強(qiáng)大的能力,GLM技術(shù)團(tuán)隊(duì)經(jīng)過(guò)近半年的探索,推出了這款全新的第四代GLM系列開源模型:GLM-4-9B。這一模型在確保精度的同時(shí),大幅度壓縮了模型大小,具有更快的推理速度和更高的效率。 GLM技術(shù)團(tuán)隊(duì)的探索沒

Golang 字串修改詳解:動(dòng)態(tài)調(diào)整與可變性 Golang 字串修改詳解:動(dòng)態(tài)調(diào)整與可變性 Apr 08, 2024 pm 03:27 PM

GoLang中的字串雖然不可變,但可透過(guò)以下技術(shù)動(dòng)態(tài)修改:使用字串連接符號(hào)連接字串。使用字串格式化建立新字串。修改字串底層位元組切片。使用第三方庫(kù)提供的可變字串類型。

See all articles