久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

PHP之正則表達式函數

PHP之正則表達式函數

前面的話

  正則表達式不能獨立使用,它只是一種用來定義字符串的規則模式,必須在相應的正則表達式函數中應用,才能實現對字符串的匹配、查找、替換及分割等操作。前面介紹了正則表達式的基礎語法,本文將詳細介紹正則表達式函數

匹配與查找

【preg_match()】

  preg_match()函數用來執行一個正則表達式匹配,搜索subject與pattern給定的正則表達式的一個匹配。返回pattern的匹配次數。它的值將是0次(不匹配)或1次,因為preg_match()在第一次匹配后將會停止搜索。preg_match_all()不同于此,它會一直搜索subject直到到達結尾。如果發生錯誤preg_match()返回FALSE

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

  pattern表示要搜索的模式,字符串類型

  subject表示輸入字符串

  如果提供了參數matches,它將被填充為搜索結果。$matches[0]將包含完整模式匹配到的文本, $matches[1] 將包含第一個捕獲子組匹配到的文本,以此類推

  flags可以被設置為以下標記:1、PREG_OFFSET_CAPTURE。如果傳遞了這個標記,對于每一個出現的匹配返回時會附加字符串偏移量(相對于目標字符串的)。注意:這會改變填充到matches參數的數組,使其每個元素成為一個由第0個元素是匹配到的字符串,第1個元素是該匹配字符串在目標字符串subject中的偏移量;2、offset。通常,搜索從目標字符串的開始位置開始。可選參數offset用于指定從目標字符串的某個未知開始搜索(單位是字節)

<?php //從URL中獲取主機名稱 preg_match('@^(?:http://)?([^/]+)@i',    "http://www.php.net/index.html", $matches); $host = $matches[1];//獲取主機名稱的后面兩部分 preg_match('/[^.]+.[^.]+$/', $host, $matches);//domain name is: php.netecho "domain name is: {$matches[0]}"; ?>
<?php  $pattern = '/www.[^./]+.com/i'; $subject = 'www.baidu.com,www.qq.com,www.cnblogs.com';preg_match($pattern,$subject,$matches);/*array (size=1)  0 => string 'www.baidu.com' (length=13) */var_dump($matches); ?>

【preg_match_all()】

  preg_match_all()與preg_match()類似,不同的是preg_match()在第一次匹配之后就會停止搜索,而函數preg_match_all()則會一直搜索到指定字符串的結尾,可以獲取到所有匹配到的結果

int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
<?php  $pattern = '/www.[^./]+.com/i';$subject = 'www.baidu.com,www.qq.com,www.cnblogs.com'; preg_match_all($pattern,$subject,$matches); /* array (size=1)  0 =>      array (size=3)      0 => string 'www.baidu.com' (length=13)      1 => string 'www.qq.com' (length=10)      2 => string 'www.cnblogs.com' (length=15)  */ var_dump($matches); ?>
【preg_grep()】

  preg_grep()返回給定數組input中與模式pattern 匹配的元素組成的數組

array preg_grep ( string $pattern , array $input [, int $flags = 0 ] )

  如果flags設置為PREG_GREP_INVERT,這個函數返回輸入數組中與 給定模式pattern不匹配的元素組成的數組

<?php  $pattern = '/www.[^./]+.com/i'; $subject = ['baidu.com','www.qq.com','www.cnblogs.com'];var_dump (preg_grep($pattern,$subject)); ?>

替換

【preg_replace()】

 preg_replace()執行一個正則表達式的搜索替換,搜索subject匹配pattern的部分,以replacement進行替換 mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

  replacement表示用于替換的字符串或字符串數組。如果這個參數是一個字符串,并且pattern是一個數組,那么所有的模式都使用這個字符串進行替換。如果pattern和replacement都是數組,每個pattern使用replacement中對應的元素進行替換。如果replacement中的元素比pattern中的少,多出來的pattern使用空字符串進行替換

<?php $string = 'April 15, 2016';$pattern = '/(w+) (d+), (d+)/i'; $replacement = '${1}1,$3';//April1,2016echo preg_replace($pattern, $replacement, $string); ?><?php $string = 'The quick brown fox jumped over the lazy dog.'; $patterns = array(); $patterns[0] = '/quick/'; $patterns[1] = '/brown/'; $patterns[2] = '/fox/';$replacements = array(); $replacements[2] = 'bear';$replacements[1] = 'black'; $replacements[0] = 'slow';//The bear black slow jumped over the lazy dog.echo preg_replace($patterns, $replacements, $string); ?>
【preg_replace_callback()】

  preg_replace_callback()執行一個正則表達式搜索并且使用一個回調進行替換

mixed preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )
<?php // 將文本中的年份增加一年. $text = "April fools day is 04/01/2002"; $text.= "Last christmas was 12/24/2001"; // 回調函數 function next_year($matches){  // 通常: $matches[0]是完成的匹配  // $matches[1]是第一個捕獲子組的匹配  // 以此類推  return $matches[1].($matches[2]+1);}>

【preg_filter()】

  preg_filter() 執行一個正則表達式搜索和替換,等價于preg_replace()除了它僅僅返回(可能經過轉化)與目標匹配的結果

mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
<?php $subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4'); $pattern = array('/d/', '/[a-z]/', '/[1a]/'); $replace = array('A:$0', 'B:$0', 'C:$0'); ?>

分割

【preg_split()】   preg_split()通過一個正則表達式分隔字符串 array preg_split ( string $pattern , string $subject [, int $limit = -1 [, int $flags = 0 ]] )

  如果指定limit,將限制分隔得到的子串最多只有limit個,返回的最后一個子串將包含所有剩余部分。limit值為-1,0或null時都代表"不限制";可以使用null跳過對flags的設置

  flags可以是任何下面標記的組合(以位或運算 | 組合):PREG_SPLIT_NO_EMPTY——如果這個標記被設置,preg_split()將進返回分隔后的非空部分;PREG_SPLIT_DELIM_CAPTURE——如果這個標記設置了,用于分隔的模式中的括號表達式將被捕獲并返回;PREG_SPLIT_OFFSET_CAPTURE——如果這個標記被設置,對于每一個出現的匹配返回時將會附加字符串偏移量。注意:這將會改變返回數組中的每一個元素,使其每個元素成為一個由第0個元素為分隔后的子串,第1個元素為該子串在subject中的偏移量組成的數組

<?php//使用逗號或空格(包含" ", , ,  , f)分隔短語$keywords = preg_split("/[s,]+/", "hypertext language, programming");/*Array (     [0] => hypertext     [1] => language     [2] => programming ) */print_r($keywords);?>

轉義

【preg_quote()】

  preg_quote()轉義正則表達式字符

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

  正則表達式特殊字符有: . + * ? [ ^ ] $ ( ) { } = ! < > | : -

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

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
99久久九九| 国产精品久久久久久久久久10秀| 成人啊v在线| 午夜精品成人av| 久久婷婷丁香| 91精品91| 久久电影一区| 亚洲日本三级| 国产麻豆一区二区三区| 欧美激情三区| 亚洲国产成人二区| 99精品视频在线| 国产一区二区中文| 亚洲深夜影院| 久久av在线| 亚洲1区在线| 国产精品最新自拍| 超碰成人av| 国产中文一区| 亚洲欧美视频一区二区三区| 亚洲综合色婷婷在线观看| 欧美亚洲网站| 日韩综合在线| 合欧美一区二区三区| 亚洲在线久久| 国产精品极品国产中出| 久久男人av资源站| 99日韩精品| 国产欧美日韩精品一区二区三区| 国产精成人品2018| 日韩久久精品| 亚洲一区二区三区无吗| 国产极品模特精品一二| 日本精品影院| 四虎精品永久免费| 精品亚洲a∨一区二区三区18| 久久精品欧美一区| 亚洲免费专区| 三上亚洲一区二区| 久久性天堂网| 久久只有精品| 红桃视频国产精品| 日本欧美大码aⅴ在线播放| 国产videos久久| 不卡av一区二区| 人人精品久久| 久久婷婷久久| 日韩精品一区二区三区免费视频| 精品国产美女a久久9999| 成人av二区| 欧美国产精品| 亚洲激情社区| 精品一区视频| 久久亚洲二区| 国产精品高颜值在线观看| 人人精品人人爱| 国产一区二区三区成人欧美日韩在线观看| 在线亚洲国产精品网站| 九九九精品视频| 午夜日本精品| 精品视频国内| 最新国产精品视频| 丝袜美腿诱惑一区二区三区| 日韩精品视频一区二区三区| 99视频精品全国免费| 国产欧美日韩影院| 影音国产精品| 福利欧美精品在线| 日本不卡一区二区| 激情婷婷久久| 韩国一区二区三区视频| 日韩美女精品| 九一成人免费视频| 国产suv精品一区| 亚洲欧洲日韩| 久久精品国语| 精品免费在线| 欧美一区自拍| 免费观看在线综合色| 亚洲爱爱视频| 精品国产欧美日韩一区二区三区| 日韩一区二区三区精品视频第3页| 伊人精品一区| 中文字幕在线视频久| 国产麻豆一区二区三区| 在线国产精品一区| 视频一区中文| 成人羞羞视频在线看网址| 麻豆精品少妇| 日本在线视频一区二区| 狠狠色狠狠色综合日日tαg| 日韩伦理福利| 精品国产日韩欧美精品国产欧美日韩一区二区三区| 亚洲精选成人| 奶水喷射视频一区| 国产99久久| 日韩精品诱惑一区?区三区| 国产高清视频一区二区| 91九色综合| 日韩精品一区第一页| 亚洲欧美一区在线| 性感美女一区二区在线观看| 国精品产品一区| 国产精品v一区二区三区| 亚洲精品伊人| 蜜乳av另类精品一区二区| 欧美精品一区二区三区精品| 久久91导航| 色网在线免费观看| 精品久久福利| 精品一区二区三区在线观看视频| 久久精品97| 91成人精品观看| 日韩高清二区| 日韩av一二三| 日本视频一区二区| 日韩av一二三| 欧美日韩伊人| 国产精品永久| 国产精品久av福利在线观看| 欧美天堂一区二区| 久久国产麻豆精品| 久久激五月天综合精品| 久久精品999| 国产高清亚洲| 久久99国产精品视频| 国产在线一区不卡| 福利欧美精品在线| 在线观看精品| 亚洲国产一区二区在线观看 | 亚洲精品第一| 亚洲精品麻豆| 青青国产91久久久久久| 国产日韩欧美在线播放不卡| 国产乱人伦精品一区| 久久不卡国产精品一区二区| 久久精品国产一区二区| 日本黄色精品| 日韩中文首页| 亚洲午夜电影| 麻豆9191精品国产| 日韩影片在线观看| 国产精品激情| 成人亚洲精品| 久久亚洲国产| 午夜视频精品| 中文字幕av一区二区三区四区| 日韩欧美中文字幕电影| 国产精品成人自拍| 视频在线不卡免费观看| 日韩一区二区三区在线免费观看| 精品一区亚洲| 日韩手机在线| 美女在线视频一区| 日韩大片在线| 国产午夜精品一区二区三区欧美| 亚洲免费婷婷| 欧美日韩亚洲一区二区三区在线| 久久久久久久久成人| 日韩精品久久久久久久电影99爱| 五月精品视频| 日本不卡一二三区黄网| 精品一区二区三区中文字幕视频| 久久久夜夜夜| 午夜亚洲福利| 福利视频一区| 老鸭窝亚洲一区二区三区| 久久精品999| 久久青草久久| 日韩av一区二| 国产v综合v| 日韩中文字幕| 亚洲一区资源| 亚洲精一区二区三区| 成人日韩av| 亚洲一区激情| 久久精品一区| 久久午夜精品一区二区| 精品视频97| 麻豆91精品| 日产精品一区二区| 蜜桃av一区二区| 成人亚洲一区| 亚洲免费一区三区| 亚洲综合在线电影| 日本成人一区二区| 久久夜夜操妹子| 欧美久久香蕉| 好看不卡的中文字幕| 麻豆精品少妇| 亚洲主播在线| 精品久久久久中文字幕小说| 午夜在线一区二区| 国产一区一一区高清不卡| 亚洲人成毛片在线播放女女| av综合电影网站| 国产精品一区二区美女视频免费看| 激情视频一区二区三区| 麻豆91小视频| 日本不卡一区二区|