1. 程式人生 > >PHP正則表示式函式

PHP正則表示式函式

 關於正則表示式 (Regular expression_r),似乎譯成:字串解析處理,較合乎字面上的意義。但目前所有的相關書籍都譯成正則表示式或是正規表示法....等等,實際上是負責字串解析比對,並對字串做相關的處理。

ereg: 字串比對解析。
ereg_replace: 字串比對解析並取代。
eregi: 字串比對解析,與大小寫無關。
eregi_replace: 字串比對解析並取代,與大小寫無關。
split: 將字串依指定的規則切開。
sql_regcase: 將字串逐字返回大小寫字元。

ereg

字串比對解析。

語法: bool ereg(string pattern, string string, array [regs]);

返回值: 布林值

函式種類: 資料處理

內容說明

本函式以 pattern 的規則來解析比對字串 string。比對結果返回的值放在陣列引數 regs 之中,regs[0] 內容就是原字串 string、regs[1] 為第一個合乎規則的字串、regs[2] 就是第二個合乎規則的字串,餘類推。若省略引數 regs,則只是單純地比對,找到則返回值為 true。

使用範例

這個例子是 [email protected] 在 14-Jun-1999 所提出的,可對使用者輸入的 E-Mail 作簡單的檢查,檢查使用者的 E-Mail 字串是否有 @ 字元,在 @ 字元前有英文字母或數字,在之後有數節字串,最後的小數點後只能有二個或三個英文字母。

[email protected] 就可以通過檢查,[email protected] 就不能通過檢查。

<?php
if (eregi("^[_\.0-9a-z-][email protected]([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$email)) {
    echo
 "您的 E-Mail 通過初步檢查";
}
?>

ereg_replace

字串比對解析並取代。

語法: string ereg_replace(string pattern, string replacement, string string);

返回值:

 字串

函式種類: 資料處理

內容說明

本函式以 pattern 的規則來解析比對字串 string,欲取而代之的字串為引數 replacement。返回值為字串型別,為取代後的字串結果。

使用範例

[email protected] 在 16-Mar-1999 提出的例子。

<?php
$text
 = 'This is a {1} day, not {2} and {3}.';
$daytype = array( 1 => 'fine',
                  
2 => 'overcast',
                  
3 => 'rainy' );
while (
ereg ('{([0-9]+)}', $text, $regs)) {
  
$found = $regs[1];
  
$text = ereg_replace("\{".$found."\}", $daytype[$found], $text);
}
echo
 "$text\n";
// This is a fine day, not overcast and rainy.
?>

[email protected] 並同時提出具有相同功能的perl 程式範例如下:

$text = 'This is a {1} day, not {2} and {3}.';
%daytype = ( 1 => 'fine',
               2 => 'overcast',
               3 => 'rainy' );
$text =~ s/{(\d+)}/$daytype{$1}/eg;
print "$text\n";

結果是:'This is a fine day, not overcast and rainy.

eregi

字串比對解析,與大小寫無關。

語法: int eregi(string pattern, string string, array [regs]);

返回值: 整數/陣列

函式種類: 資料處理

內容說明

本函式和 ereg() 類似,用法也相同。不同之處在於 ereg() 有區分大小寫,本函式與大小寫無關。

eregi_replace

字串比對解析並取代,與大小寫無關。

語法: string eregi_replace(string pattern, string replacement, string string);

返回值: 字串

函式種類: 資料處理

內容說明

本函式和 ereg_replace() 類似,用法也相同。不同之處在於 ereg_replace() 有區分大小寫,本函式與大小寫無關。

split

將字串依指定的規則切開。

語法: array split(string pattern, string string, int [limit]);

返回值: 陣列

函式種類: 資料處理

內容說明

本函式可將字串依指定的規則分開。切開後的返回值為陣列變數。引數 pattern 為指定的規則字串、引數 string 則為待處理的字串、引數 limit 可省略,表示欲處理的最多合乎值。值得注意的是本函式的 pattern 引數有區分大小寫。

sql_regcase

將字串逐字返回大小寫字元。

語法: string sql_regcase(string string);

返回值: 陣列

函式種類: 資料處理

內容說明

本函式可將字串之字元逐字返回大小寫。在 PHP 使用上,本函式沒有什麼作用,但可能可以提供外部程式或資料庫處理。

使用範例

例中的返回字串為 [Ww][Ii][Ll][Ss][Oo][Nn]

<?php
print(sql_regcase("wilson"));
?>

相關推薦

PHP表示式函式

 關於正則表示式 (Regular expression_r),似乎譯成:字串解析處理,較合乎字面上的意義。但目前所有的相關書籍都譯成正則表示式或是正規表示法....等等,實際上是負責字串解析比對,並對字串做相關的處理。 ereg: 字串比對解析。 ereg_repla

PHP 表示式匹配函式 preg_match 與 preg_match_all

preg_match() preg_match() 函式用於進行正則表示式匹配,成功返回 1 ,否則返回 0 。 語法: 1 int preg

php表示式及涉及函式

元字元描述示例.匹配任意單個字元。正則表示式 a.c 可以匹配 aac,a2c,a#c 等$匹配字串的結尾。正則表示式 abc$ 可以匹配最後以 abc 結尾的字串^匹配字串的開始。正則表示式 ^what 可以匹配以 what 開始的字串*匹配 * 前面的子串零次或多次正則表

PHP 表示式---匹配模式

1、PHP 正則表示式 <一>正則表示式貪婪匹配,非貪婪匹配。 預設是貪婪匹配, 例如 ①、貪婪匹配, $str = '香腸月餅'; preg_match('/(.)</td>/',$str,$rs); print_r($rs); ②、 $str = '香腸月餅'; preg_

php 表示式中的 .*? 表示什麼意思

我們知道我 .* 是任意字元,有的時候比較困惑在加個?什麼意思。 ?是非貪婪模式.*會匹配後面的一切字元,就是到結束的意思加?後就是不貪婪模式,這時要看?後邊的字元是什麼了,如.*?"的意思是遇到雙引號則匹配結束 例如: 現在我要匹配出圖片中的src,圖片格式為:"圖片01<img src='ht

PHP表示式 模式引數詳解

i (PCRE_CASELESS)  如果設定此修正符,模式中的字元將同時匹配大小寫字母。 m(PCRE_MULTILINE)  預設情況下,PCRE 將目標字串作為單一的一“行”字元所組成的(甚至其中包含有換行符也是如此)。“行起始”元字元(^)僅僅匹配字串的起始

PHP表示式獲取武漢市的實時pm2.5資料並郵件傳送phpmailer

最近讀了PHP與mysql web開發這本書學習PHP,感覺受益匪淺,PHP是由C語言所編寫的,所以C語言的語法在PHP中同樣適用如printf與PHP的echo一樣具有輸出功能,(換行)。學習了PHP語言的正則表示式來抓取網頁內容,又讀到了php的mail函式時想用來發送郵件,但是ma

php表示式替換圖片地址

<?php /*PHP正則提取圖片img標記中的任意屬性*/ $str = '<center><img src="/uploads/images/20100516000.jpg" height="120" width="120"><br />PHP正則提取

Oracle表示式函式:regexp_like、regexp_substr、regexp_instr、regexp_replace

Oracle正則表示式函式:regexp_like、regexp_substr、regexp_instr、regexp_replace Oracle使用正則表示式離不開這4個函式: 1。regexp_like 2。regexp_substr 3。regexp_instr 4。

PHP表示式中的元字元

假設我們需要在一個字串中查詢he,我們可以使用正則he,這是最簡單的正則表示式,它會精確地匹配這樣的字串:有兩個字元組成,前一個字元是h後一個字元是e。一般情況下,處理正則表示式的工具會提供一個忽略大小寫的選項,如果選擇了,這個表示式就可以匹配he、HE、He、hE這四種情況的任意一種,但是呢,

PHP表示式基礎之認識表示式

正則表示式是我們平常在程式開發過程中經常用到的一種工具,有關於它的起源以及除程式之外的應用場景咱就不贅述了,咱們只看它在程式中是如何來應用的。 這個正則表示式在我們程式中通常是把它當做一種模式去匹配一類字串,通俗地講,就是用一個字串描述一個特徵,完事驗證另外一個字串是否符合這個特徵的公式。你

php表示式基礎及使用

概述 正則表示式是一種描述字串結果的語法規則,是一個特定的格式化模式,可以匹配、替換、擷取匹配的字串。常用的語言基本上都有正則表示式,如JavaScript、java等。其實,只有瞭解一種語言的正則使用,其他語言的正則使用起來,就相對簡單些。文字主要圍繞解決下面問題展開。 有哪

PHPPHP表示式驗證表單

以下內容轉載自:https://www.jb51.net/article/93375.htm 模式匹配符: \:轉義字元 例如:\b轉義了b ^:正則表示式開始符號 $:正則表示式結束符號 *:匹配前面的字元出現0次或者n次 +:匹配前面的字元出現1次或者n次 ?:匹配前面的字元出現

php表示式

正則表示式考點 引子: 至少寫出一種驗證139開頭的11位手機號的正則表示式的   正則表示式的作用:  分割, 查詢,匹配,替換字串 分隔符: 正斜線(/), hash符號(#),取反(~) 通用原子: \d(10進位制0-9), \D,      \w(數字字

php表示式 剔除字串中的除了漢字的字元(只保留漢字)

1)utf-8的編碼格式,匹配中文程式碼如下: <?php     $str = "utf-8下匹配出中文字串";     $preg = "/[\x{4e00}-\x{9fa5}]+/u";     if(preg_match_all($preg,$str,$mat

php表示式驗證手機號碼

php正則表示式驗證手機號碼是否合法:         $phone = 13688888888;         $check = '/^(1(([35789][0-9])|(47)))\

PHP表示式檢查日期是YYYY-MM-DD格式

                         

最常用的PHP表示式收藏

正則表示式     正則表示式用於字串處理、表單驗證等場合,實用高效。本文收集了一些常用的表示式:       匹配中文字元的正則表示式: [\u4e00-\u9fa5]       評註:匹配中文還真是個頭疼的事,有了這個表示式就好辦了       匹配雙位元組字元(

完美匹配中文的Php表示式

1. 籠統的使用元字元匹配中文,/.*?/s,可匹配一段中文,這在ANSI(gb2312)和utf-8環境的程式程式碼都可以實現。但提醒一下,\w不能匹配中文。曾在一本《精通正則表示式》(人民郵電出版社,沙金編著)書上看到可以使用\w匹配中文,這裡糾正一下用php不行。可

史上最全PHP表示式,如:郵箱、身份證、手機號、IP等

下面我用PHP語言來分別寫出各種正則表示式 下方程式碼直接複製即可 匹配郵箱 $str = ''; $isMatched = preg_match_all('/\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/', $str