本文較為詳細的介紹的了PHP中preg_match()函數,并輔以實例,帶大家一起看一看,preg_match()函數,如何進行正則表達式的匹配。
語法:
preg_match ( string $pattern , string $subject ,array &$matches = ? ,int $flags = 0 ,int $offset = 0 )
$pattern:要搜索的模式,字符串類型。
$subject:輸入字符串。
$matches:如果提供了參數matches,它將被填充為搜索結果。 $matches[0]將包含完整模式匹配到的文本, $matches[1] 將包含第一個捕獲子組匹配到的文本,以此類推。
$flags:可以被設置為以下標記值的組合:PREG_UNMATCHED_AS_NULL、PREG_OFFSET_CAPTURE
$offset:可選參數 offset 用于 指定從目標字符串的某個位置開始搜索(單位是字節)。
返回值:匹配次數。 它的值將是0次(不匹配)或1次,因為preg_match()在第一次匹配后 將會停止匹配。發生錯誤preg_match()返回 FALSE。
使用實例:
<?php //從URL中獲取主機名稱 preg_match('@^(?:http://)?([^/]+)@i', "http://www.zztuku.com/index.html", $matches); $host = $matches[1]; //獲取主機名稱的后面兩部分 preg_match('/[^.]+\.[^.]+$/', $host, $matches); echo "admin name is: {$matches[0]}\n"; ?>
輸出:
admin name is: zztuku.com