《PHP教程:通過PHP自帶的服務器來查看正則匹配結果的方法》要點:
本文介紹了PHP教程:通過PHP自帶的服務器來查看正則匹配結果的方法,希望對您有用。如果有疑問,可以聯系我們。
眾所周知,PHP代碼必要web服務器來執行,要測試PHP代碼就得搭建一個web服務器,這就給我們平時學習帶來了較多不便.不過好在PHP v5.4版本以后,PHP會自帶一個功能簡單的web服務器.PHP編程
啟動內置web服務器PHP編程
首先,進入自定義的web文件夾,然后啟動內置web服務器:PHP編程
cd ~/public_html php -S localhost:8000
端口號8000是自定義的,換成其他未使用端口均可.PHP編程
啟動后,控制界面如下所示:
PHP編程
PHP編程
測試內置服務器PHP編程
在public_html文件夾下建立test.php,
PHP編程
<?php phpinfo(); ?>
然后在瀏覽器中拜訪localhost:8000/test.php,應該就可以看到php的信息頁面:
PHP編程
PHP編程
正則匹配
我們來看下PHP進行正則匹配的一個簡單例子:
PHP編程
<?php $subject = 'abc3def'; $pattern = '/c\dde/'; preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE); print_r($matches); ?>
可以通過PHP的內置web服務器來查看運行結果,不出意外的話你可以看到如下輸出,PHP編程
Array ( [0] => Array ( [0] => c3de [1] => 2 ) )
接下來我們來仔細分析這個代碼.PHP編程
preg_match函數PHP編程
preg_match函數的原型是int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ).其中pattern即為正則表達式,subject是被匹配的字符串,后面的都是可選參數.代碼中的PREG_OFFSET_CAPTURE即為flags值,作用便是將匹配結果的偏移量同匹配結果一起輸出至matches變量中,默認只將匹配結果輸出至matches中.關于該函數的詳細說明,請參看preg_match官方文檔.PHP編程
正則表達式PHP編程
代碼中的‘/c\def/'即為正則表達式,在大多數程序中,正則表達式都被置于兩個正斜杠之間.\d表示匹配數字,因此代碼中的正則表達式匹配的是c數字def的字符串.關于正則表達式的更多語法,可以參看正則表達式30分鐘入門教程.這里順便提一點,正則表達式的第二個斜杠之后可以添加一個模式修飾符.最簡單的模式修飾符便是i,匹配時忽略大小寫.例如,正則表達式/def/匹配字符串abcDef會失敗,而/def/i匹配字符串abcDef則會成功.更多的模式修飾符可參看模式修飾符.PHP編程
print_r函數PHP編程
print_r函數打印一個變量易于理解的信息.不同于print和echo只能打印字符串、整型等普通變量,print_r還可以打印array變量以及object變量,并以易于理解的格式輸出.講到這再延伸講下,PHP中還有一個經常會用到的打印信息的函數,便是var_dump函數.正如函數的名稱一樣,這個函數經常在調試下使用,除了能打印變量的值,還能打印變量的類型.PHP編程
維易PHP培訓學院每天發布《PHP教程:通過PHP自帶的服務器來查看正則匹配結果的方法》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。