php正則函數2preg,php正則匹配函數

本文目錄一覽:

PHP正則相關的幾個preg函數

1、如果你用過smarty模板引擎、MVC類似框架如tp,那麼你自己寫一個框架噢!

2、你要對php的繼承實現以及其中的小知識點熟知;

3、先列出你的框架目錄,什麼地方放什麼,然後寫你的配置文件

4、用到的高頻函數有:require 、 require_once 、 file_exites等!

希望回答對你有幫助,如果有疑問,請繼續「追問.

答題不易,互相理解,您的採納是我前進的動力,感謝您.

php正則替換函數 preg_replace ,替換部分字符

只想將 $param 替換為 $pstr的話就不要用正則。

$phpstr = str_replace(‘$param’,’$pstr’,$phpstr);

PHP函數preg_match_all正則表達式的基本使用詳細解析

了解正則表達式之前,須要掌握一些常用的正則表達式的基礎知識,這些如果能記得最好記得,記不住須要用的時候能查到就行,就多個特殊字符,所以說正則表達式玩的就是特殊,具體大家可以查看更加細緻的說明。

preg_match_all函數具體說明大家可以查看PHP手冊,本文運用

preg_match_all用於測試正則表達的效果。

實例代碼:

複製代碼

代碼如下:

$html

=

‘div

id=”biuuu”jb51.net/divdiv

id=”biuuu_2″jb51.net2/divdiv

id=”biuuu_3″jb51.net3/div’;

實例要求:分別將每一個DIV元素的ID和內容取出,如biuuu,biuuu_2,biuuu_3,jb51.net,jb51.net2和jb51.net3(一些常用的抓站要領就是這樣匹配的)

分析:字符串是一個基本的HTML元素,每一個DIV元素對應該一個ID和內容,並且是獨立的,首先考慮如何

取出一個DIV內的ID值和內容,如:jb51.net,然後匹配其它類似的元素。一個DIV中須要取出兩個值,也就是兩個匹配的表達式,第一個表達式用於匹配ID值(biuuu),第二個表達式用於匹配ID的內容(jb51.net),正則表達式常用的表達式運用小括號,那麼前面的元素將會變成如下形式:

div

id=”(biuuu)”(jb51.net)/div

div

id=”(表達式1)”(表達式2)/div

好,運用如上小括號把須要匹配的區域執行

了劃分,接下來就是如何

匹配各個表達式內的內容,我們猜想一個ID可能是字母,數字或下劃線,那這就變得基本了,運用中括號就可以實現,如下:

表達式1:[a-zA-Z0-9_]+

(表示匹配大小寫字母,數字和下劃線)

那如何

匹配表達式2,因為ID的內容可以是任意的字符,但是要留心,不能匹配或字符,因為如果匹配這兩個字符將會把後面運用的DIV都匹配出來,因此須要排除這兩個字符開始的元素,也就是不匹配以或字符,如下:

表達式2:[^]+

(表示不匹配和字符)

這樣,須要匹配的子表達式就實現了,但是還要須要匹配一個

的表達式,要領如下:

表達式:/

‘\”(表達式1)\”‘(表達式2)\/div/

留心其中的雙引號”和/須要運用

\轉義字符轉義,然後把前面兩個表達式放進去,

如下:

‘\”([a-z0-9_]+)\”‘/div

id=\”([a-z0-9_]+)\”([^]+)\/div/

這樣就實現一個匹配每一個DIV元素ID值和內容的正則表達式,然後運用

preg_match_all函數測試如下:

複製代碼

代碼如下:

$html

=

‘div

id=”biuuu”jb51.net/divdiv

id=”biuuu_2″jb51.net2/divdiv

id=”biuuu_3″jb51.net3/div’;

preg_match_all(‘/div\sid=\”([a-z0-9_]+)\”([^]+)\/div/’,$html,$result);

var_dump($result);

結果:

複製代碼

代碼如下:

array(3)

{

[0]=

array(3)

{

[0]=

string(30)

“div

id=”biuuu”jb51.net/div”

[1]=

string(33)

“div

id=”biuuu_2″jb51.net2/div”

[2]=

string(33)

“div

id=”biuuu_3″jb51.net3/div”

}

[1]=

array(3)

{

[0]=

string(5)

“biuuu”

[1]=

string(7)

“biuuu_2”

[2]=

string(7)

“biuuu_3”

}

[2]=

array(3)

{

[0]=

string(8)

“jb51.net”

[1]=

string(9)

“jb51.net2”

[2]=

string(9)

“jb51.net3”

}

}

共有三個表達式,分別顯示每一個表達式匹配的值,並以數組的形式存儲,這樣就把每一個DIV元素的ID和內容取出。運用正則表達式最主要還是要知道須要什麼,然後跟椐須要執行

匹配,並且思路清晰,並適當的藉助preg_match_all函數執行

輸出調試,非常方便。

php 正則函數 preg_replace

因為數組裏面你先寫了#ab#,後寫的#abc#,實際工作時系統先使用第一組參數替換,然後使用第二組參數替換。

如果你希望得到22結果,應該交換數組裏面兩個的順序。

php中的preg_match()函數

preg_match()函數用於正則表達式知識匹配,如果成功則返回1,否則返回0。

Preg_match()在成功匹配之後停止匹配,如果要實現所有結果的內部匹配,則使用preg_match_all()函數。

php函數取得字符串長度:

1.首先,創建一個新的PHP文件並將其命名為test.php。

2.在test.php文件中,定義兩個字符串,一個是純英文字符串,另一個是中英文混合字符串。

3.使用strlen()方法來計算長度,從程序執行結果來看,strlen()方法計算的字符串長度$Str1是正確的,第二個字符串$Str2是錯誤的。

4.創建一個新的utf8_strlen()函數,並將其參數定義為$string,默認為null。

5.在utf8_strlen()函數中,使用preg_match_all()方法通過正則表達式分割字符串,並將其保存在$match變量中。最後,計算從count()方法獲得的數組元素的數量,並返回結果。

6.使用utf8_strlen()分別計算$Str1和$Str2字符串的長度,並使用echo將結果輸出到頁面。

7.在瀏覽器中運行test.php文件並查看程序執行的結果。從這兩個結果可以看出,統計字符串長度已經成功實現。

如何運用PHP函數preg

對於初學者來說,大家對 說明 array preg_split ( string $pattern, string $subject [, int $limit [, int $flags]] )

返回一個數組,包含 subject 中沿着與 pattern 匹配的邊界所分割的子串。

如果指定了 limit,則最多返回 limit 個子串,如果 limit 是 -1,則意味着沒有限制,可以用來繼續指定可選參數 flags。

flags 可以是下列標記的任意組合(用按位或運算符 | 組合):

PREG_SPLIT_NO_EMPTY

如果設定了本標記,則 preg_split() 只返回非空的成分。

PREG_SPLIT_DELIM_CAPTURE

如果設定了本標記,定界符模式中的括號表達式也會被捕獲並返回。本標記添加於 PHP 4.0.5。

PREG_SPLIT_OFFSET_CAPTURE

如果設定了本標記,如果設定本標記,對每個出現的匹配結果也同時返回其附屬的字符串偏移量。注意這改變了返回的數組的值,使其中的每個單元也是一個數組,其中第一項為匹配字符串,第二項為其在 subject 中的偏移量。本標記自 PHP 4.3.0 起可用。

提示

如果不需要正則表達式的功能,可以選擇使用更快(也更簡單)的替代函數如 explode() 或 str_split()。

例 1672. PHP函數preg_split例子:取得搜索字符串的成分

// split the phrase by any number of commas or space characters,

// which include ” “, r, t, n and f

$keywords = preg_split (“/[s,]+/”, “hypertext language, programming”);

?

例 1673.PHP函數preg_split 將字符串分割成字符

$str = ‘string’;

$chars = preg_split(‘//’, $str, -1, PREG_SPLIT_NO_EMPTY);

print_r($chars);

?

例 1674. PHP函數preg_split將字符串分割為匹配項及其偏移量

$str = ‘string’;

$chars = preg_split(‘//’, $str, -1, PREG_SPLIT_NO_EMPTY);

print_r($chars);

?

PHP函數preg_split例子將輸出:

Array( [0] =

Array ( [0] = hypertext [1] = 0 ) [1] =

Array ( [0] = language [1] = 10 ) [2] =

Array ( [0] = programming [1] = 19 ))

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/278906.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 15:02
下一篇 2024-12-20 15:02

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 單片機打印函數

    單片機打印是指通過串口或並口將一些數據打印到終端設備上。在單片機應用中,打印非常重要。正確的打印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的打印數據可以幫助我們快速…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • 分段函數Python

    本文將從以下幾個方面詳細闡述Python中的分段函數,包括函數基本定義、調用示例、圖像繪製、函數優化和應用實例。 一、函數基本定義 分段函數又稱為條件函數,指一條直線段或曲線段,由…

    編程 2025-04-29

發表回復

登錄後才能評論