亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP正則表達式之如何分割字符串與轉義字符串

發布時間:2021-11-01 16:05:18 來源:億速云 閱讀:214 作者:iii 欄目:編程語言

這篇文章主要介紹“PHP正則表達式之如何分割字符串與轉義字符串”,在日常操作中,相信很多人在PHP正則表達式之如何分割字符串與轉義字符串問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP正則表達式之如何分割字符串與轉義字符串”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

PHP正則表達式之如何分割字符串與轉義字符串

preg_split() 函數

在PHP中 preg_split() 函數通過一個正則表達式來分割字符串,該函數的語法格式如下:

array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

其中需要注意的是:

$pattern表示用于匹配的模式,也即正則表達式;$subject表示要分隔的字符串;$limit是個可選參數,如果指定,就將限制分隔得到的子串最多只有 limit 個,并且最后一個子串將包含所有剩余部分。limit 值為 -10NULL 時都代表“不限制”,建議使用 NULL。

$flags是個可選參數,它有 3 個取值。若設置為 PREG_SPLIT_NO_EMPTY,則 preg_split() 將返回分隔后的非空部分。若設置為 PREG_SPLIT_DELIM_CAPTURE,則分隔的模式中的括號表達式將被捕獲并返回。若設置為 PREG_SPLIT_OFFSET_CAPTURE,則對于每一個出現的匹配返回時會附加字符串偏移量。

這將會改變返回數組中的每一個元素,使每個元素成為一個由第 0 個元素為分隔后的子串、第 1 個元素為該子串在 subject 中的偏移量組成的數組。返回值就是返回一個使用 pattern 分割 subject 字符串后得到的子串組成的數組。

接下來我們通過示例來看一下 preg_split() 函數的用法,示例如下:

<?php
    echo "<pre>";
    $subject = '億速云:http://www.mlszssj.com/, baidu百度:http://www.baidu.com/';
    $pattern = '/[\s,:]+/';
    print_r( preg_split($pattern, $subject) );
    print_r( preg_split($pattern, $subject, 3) );
?>

輸出結果:

PHP正則表達式之如何分割字符串與轉義字符串

示例如下:

<?php
$str = 'father mother andyou';
var_dump($str);
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
var_dump($chars);
?>

輸出結果:

PHP正則表達式之如何分割字符串與轉義字符串

由上述示例能夠看出,通過preg_split() 函數能夠完成通過一個真個表達式來分割字符串。接下來我們來看一下,怎樣對正則表達式來進行轉義。

PHP preg_quote() 函數

普通字符包括沒有顯式指定為元字符的所有可打印和不可打印字符,包括所有大小寫字母、數字、標點符號和一些符號。最簡單的正則表達式是用于搜索字符串相比較的單個普通字符。例如,單字符正則表達式/A/會始終匹配字母 A。

除普通字符之外,正則表達式還可以包含“元字符”。元字符可分為單字符元字符和多字符元字符。例如,元字符\d,它與數字字符相匹配。

PHP preg_quote() 函數用來對正則表達式字符串進行轉義,也就是在特殊字符前邊增加一個反斜杠\,該函數的語法格式如下:

preg_quote($str [, $delimiter = NULL])

其中需要注意的是:

$str表示正則表達式字符串;$delimiter是個可選參數,額外增加的需要轉義的字符。如果指定了 $delimiter 參數,被指定的字符也會被轉義。這通常用于轉義 PCRE 函數使用的分隔符。 / 是最常見的分隔符。

preg_quote() 函數會向參數 $str 提供的每個正則表達式的字符前增加一個反斜線。這通常用于一些運行時字符串需要作為正則表達式進行匹配的時候。

正則表達式特殊字符有:. \ + * ? [ ^ ] $ ( ) { } = ! < > | : -    。要清楚/不是正則表達式特殊字符。

接下來我們通過示例來看一下使用 preg_quote() 函數對字符串進行轉義,示例如下:

<?php
    $url = 'http://www.baidu.com/';
    echo preg_quote($url) . "<br />";
    echo preg_quote($url, "/") . "<br />";
    $textbody = "baidu百度 is *very* good to study.";
    $word     = "*very*";
    echo preg_replace( "/".preg_quote($word)."/", "<i>".$word."</i>", $textbody );
?>

輸出結果:

PHP正則表達式之如何分割字符串與轉義字符串

示例如下:

<?php
$keywords = '$40 for a g3/400';
$keywords = preg_quote($keywords, '/');
echo $keywords; // 返回 \$40 for a g3\/400
?>

輸出結果:

PHP正則表達式之如何分割字符串與轉義字符串

上述示例中,便是通過preg_quote() 函數用來對正則表達式字符串進行轉義。

到此,關于“PHP正則表達式之如何分割字符串與轉義字符串”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

安阳县| 黔西| 康乐县| 梓潼县| 新竹市| 思茅市| 惠州市| 射阳县| 盐边县| 左云县| 土默特右旗| 聂荣县| 徐水县| 九台市| 五家渠市| 信宜市| 崇文区| 出国| 翁牛特旗| 新密市| 长沙市| 长垣县| 郧西县| 枣阳市| 广昌县| 榆树市| 尖扎县| 丰都县| 竹溪县| 霍林郭勒市| 北票市| 高台县| 资源县| 界首市| 安西县| 靖安县| 正定县| 新乡市| 墨竹工卡县| 博爱县| 怀集县|