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

首頁 後端開發(fā) php教程 用正則,從指定起始位置,在源字符串之中截取定長字符串_PHP教程

用正則,從指定起始位置,在源字符串之中截取定長字符串_PHP教程

Jul 13, 2016 pm 04:58 PM
程式碼 位置 字串 截取 指定 正規(guī)則 來源 起始

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

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


對于最后字節(jié)是否截取錯誤中文的說明:
最后一個字節(jié),假如截取了中文的一半,那么應該是高位字節(jié),其ASCII碼大于0x81的。
因為中文的高位字節(jié)都是大于0x81的,而低位字節(jié)不限。
一個完整的漢字:[0x81-0xfe][0x40-0xfe]
故使用正則表達式,依次取出漢字和非漢字,漢字優(yōu)先。
最后一個字節(jié),假如截取了中文的一半,那么她將是一個非漢字,而且是漢字的高位字節(jié)
而判定這個字節(jié)是否在[0x81-0xfe],即可知道是否截取錯誤。


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

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631416.htmlTechArticle[代碼]用正則, 從指定起始位置, 在源字符串之中截取定長字符串(含中文)[第四版] [代碼]用正則, 從指定起始位置開始, 在源字符串之中截取...
本網(wǎng)站聲明
本文內容由網(wǎng)友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權的內容,請聯(lián)絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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

如何使用Copilot產(chǎn)生程式碼 如何使用Copilot產(chǎn)生程式碼 Mar 23, 2024 am 10:41 AM

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

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

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

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

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

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

1.我們打開手機中的美團,然後在首頁點選左上角的外帶選項。 2.進入外帶的平臺頁面之後,在首頁就可以看到有天天神券的板塊了,直接點擊。 3.進入天天神券之後,就會看到很多的活動,點擊完成,然後我們完成任務就可以獲得獎勵了。

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

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

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

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

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

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

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

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

See all articles