通過PHP自帶的伺服器來檢視正則匹配結果的方法

2022-10-06 09:51:10 字數 1645 閱讀 6065

眾所周知,php**需要web伺服器來執行,要測試php**就得搭建乙個web伺服器,這就給我們平時學習帶來了較多不便。不過好在php v5.4版本以後,php會自帶乙個功能簡單的web伺服器。

啟動內建web伺服器

首先,進入自定義的web資料夾,然後啟動內建web伺服器程式設計客棧:

cd ~/public_html

php -s localhost:8000

埠號8000是自定義的,換成其他未使用埠均可。

啟動後,控制介面如下所示:

測試內建伺服器

在public_html資料夾下建立test.php,

<?php phpinfo();

?>

然後在瀏覽器中訪問localhost:8000/test.php,應該就可以看到php的資訊頁面:

正則匹配

我們來看下php進行正則匹配的乙個簡單例子:

<?php $subject = 'abc3def';

$pattern = '/c\dde/';

preg_match($pattern, $subject, $matches, preg_offset_capture);

print_r($matches);

?>

可以通過php的內建web伺服器來檢視執行結果,不出意外的話你可以看到如下輸出,

array

( [0] => array

( [0] => c3de

[1] => 2

))接下來我們來仔細分析這個**。

preg_match函式

preg_match函式的原型是int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )。其中pattern即為正規表示式,subject是被匹配的字串,後面的都是可選引數。**中的preg_offset_captuwww.cppcns.comre即為flags值,作用就是將匹配結果的偏移量同匹配結果一起輸出至matches變數中,預設只將匹配結果輸出至matches中。關於該函式的詳細說明,請參看preg_程式設計客棧match官方文件。

正規表示式

**中的『/c\def/'即為正規表示式,在大多數程式中,正規表示式都被置於兩個正斜槓之間。\d表示匹配數字,因此**中的正規表示式匹配的是c數字def的字串。關於正規表示式的更多語法,可以參看正規表示式30分鐘入門教程。這裡順便提一點,正規表示式的第二個斜槓之後可以新增乙個模式修飾符。最簡單的模式修飾符就是i,匹配時忽略大小寫。例如,正規表示式/def/匹配字串abcdef會失敗,而/def/i匹配字串abcdef則會成功。更多的模式修飾符可參看模式修飾符。

print_r函式

print_r函式列印乙個變數易於理解的資訊。不同於print和echo只能列印字串、整型等普通變數,print_r還可以列印array變數以及object變數,並以易於理解的格式輸出。講到這再延伸講下,php中還有乙個經常會用到的列印資訊的函式,就是var_dump函式。正如函式的名稱一樣,這個函式經常在除錯下使用,除了能列印變數的值,還能列印變數的型別。

本文標題: 通過php自帶的伺服器來檢視正則匹配結果的方法

本文位址: /wangluo/php/137989.html

PHp5 4自帶的web伺服器

php是一種指令碼語言,它需要php直譯器來分析執行php檔案。當把php做為cgi服務web請求時,它需要被嵌入到某種web伺服器裡,最常 見的是整合到apache或iis裡,這就是說,在使用php前,你需要安裝apache或iis,並且正確的配置它們和php整合的引數。雖然這種配置 已經很規範,...

通過http load來測試伺服器的效能

ttp load是基於linux平台的效能測試工具,它體積非常小,僅100kb。它以並行復用的方式執行,可以測試web伺服器的吞吐量與負載。引數全稱含義 p parallel 併發的使用者程序數。f fetches 總計的訪問次數 r rate 含義是每秒的訪問頻率 s seconds 連續的訪問時...

通過http load來測試伺服器的效能

wget c二 解壓並編譯http load sudo make installcd http load 12mar20062 了解引數和檔案 引數全稱含義 p parallel 併發的使用者程序數。f fetches 總計的訪問次數 r rate 含義是每秒的訪問頻率 s seconds 連續的訪...