国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php正則表達式之preg_match()用法

2024-09-04 11:47:18
字體:
供稿:網(wǎng)友

利用 preg_match(),我們可以完成字符串的規(guī)則匹配。如果找到一個匹配,preg_match() 函數(shù)返回 1,否則返回 0。還有一個可選的第三參數(shù)可以讓你把匹配的部分存在一個數(shù)組中。在驗證數(shù)據(jù)時這個功能可以變得非常有用。

實例代碼如下:

  1. <?php 
  2. // 模式定界符后面的 "i" 表示不區(qū)分大小寫字母的搜索 
  3. if (preg_match ("/php/i""PHP is the web scripting language of choice.")) { 
  4. print "A match was found."
  5. else { 
  6. print "A match was not found."
  7. ?> 

取得當前時間

實例代碼如下:

  1. <?php 
  2. //需要匹配的字符串。date函數(shù)返回當前時間。 "現(xiàn)在時刻:2012-04-20 07:31 am" 
  3. $content = "現(xiàn)在時刻:".date("Y-m-d h:i a"); 
  4. //匹配日期和時間. 
  5. if (preg_match ("/d{4}-d{2}-d{2} d{2}:d{2} [ap]m/"$content$m)) 
  6. echo "匹配的時間是:" .$m[0]. "n"//"2012-04-20 07:31 am" 
  7. //分別取得日期和時間 
  8. if (preg_match ("/([d-]{10}) ([d:]{5} [ap]m)/"$content$m)) 
  9. echo "當前日期是:" .$m[1]. "n"//"2012-04-20" 
  10. echo "當前時間是:" .$m[2]. "n"//"07:31 am" 
  11. ?> 

這個例子將驗證出此 Email 地址為正確格式。現(xiàn)在讓我們來看看這段正則表達式所代表的各種規(guī)則。

獲取Google首頁title

比如說要獲取google首頁的title內(nèi)容,代碼如下:

實例代碼如下:

  1. <?php 
  2. $str = file_get_contents('http://www.google.com'); 
  3. preg_match('/<title>(.*)</title>/'$str$arr); 
  4. echo $arr[1]; 
  5. ?> 

從網(wǎng)址獲取域名

實例代碼如下:

  1. <?php 
  2. preg_match("/^(http://)?([^/]+)/i""http://www.111cn.net/index.html"$matches); 
  3. $host = $matches[2]; // 從主機名中取得后面兩段 
  4. preg_match("/[^./]+.[^./]+$/"$host$matches); 
  5. echo "domain name is: {$matches[0]}n"
  6. ?> 

preg_match($pattern,$string,$matcher)其中$pattern對應(yīng)的就是/^(http://)?([^/]+)/i,$string 是http://www.php.net/index.html,$match是匹配到的結(jié)果。

如果提供了 matches,則其會被搜索的結(jié)果所填充。$matches[0] 將包含與整個模式匹配的文本,$matches[1] 將包

含與第一個捕獲的括號中的子模式所匹配的文本,以此類推。

$matches[0] 將包含與整個模式匹配的文本。咱們用pring_r打印出來第一個$matches:

實例代碼如下:

  1. Array (  
  2.  [0] => http://www.111cn.net  
  3.  [1] => http://  
  4.  [2] => http://www.survivalescaperooms.com ) 

$matches[0] 將包含與整個模式匹配的文本,$matches[1] 將包含與第一個捕獲的括號中的子模式所匹配的文本。在正則中,()代表模式:匹配 pattern 并獲取這一匹配。所獲取的匹配可以從產(chǎn)生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中則使用 $0…$9 屬性。就是說數(shù)組中下標為1的值就是正則中/^(http://)?([^/]+)/i第一個()里的值!數(shù)組下標2的值以此類推。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新竹县| 哈尔滨市| 逊克县| 开阳县| 寿宁县| 满洲里市| 涿州市| 轮台县| 凌源市| 左权县| 和平区| 谷城县| 沈丘县| 开阳县| 牟定县| 上犹县| 聊城市| 玉山县| 辽阳县| 苏州市| 双牌县| 东乌珠穆沁旗| 和田县| 民乐县| 江都市| 长武县| 忻州市| 平昌县| 古丈县| 南木林县| 津市市| 扶风县| 正蓝旗| 木里| 会东县| 普兰店市| 宽甸| 宝清县| 高雄县| 马尔康县| 定州市|