PHP的ereg 與eregi 的不同及相同點

2021-05-23 19:38:58 字數 1075 閱讀 1446

字串比對解析。

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

返回值: 整數/陣列

函式種類: 資料處理

內容說明

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

使用範例

簡單例子:

<?php

if (ereg("c","abcdef"))else

?>

下面這個例子是對輸入的 e-mail 作簡單的檢查,檢查使用者的 e-mail 字串是否有 @ 字元,在 @ 字元前有英文本母或數字,在之後有數節字串,最後的小數點後只能有二個或三個英文本母。[email protected] 就可以通過檢查,[email protected] 就不能通過檢查。

<?php

if (ereg("^[_/.0-9a-z-]+@([0-9a-z][0-9a-z-]+/.)+[a-z]$",$email))

?>

eregi()

用法與 ereg() 相同。不同之處在於

下面舉例說明這兩個函式的區別:

在abcdef中查詢是否含有大寫字母c

<?php

if (ereg("c","abcdef"))else

?>

//返回結果是:錯誤

<?php

if (eregi("c","abcdef"))else

?>

//返回結果是:通過

ereg() 有區分大小寫,eregi()本函式與大小寫無關。

例子<?php

$str="a";

if(eregi("[0-9]+",$str))

else if(eregi("[a-z]+",$str))

else if(eregi("[一-龥]+",$str))

?>

php中ereg函式的截斷漏洞

ereg 函式用指定的模式搜尋乙個字串中指定的字串,如果匹配成功返回 true,否則,則返回false 搜尋字母的字元是大小寫敏感的。int ereg string pattern,string originalstring,array regs 例,email id admin tutorials...

PHP下ereg實現匹配ip的正則

我們先看個 片段 複製 如下 ip 1.1.1.255 chr 0 haha if ereg 0 9 0 9 0 9 0 9 ip else 這個ereg正則限制了 ip的資料為 這樣的形式,表面上看上面的 應該輸出 unknown 而實際卻輸出了 1.1.1.255haha 因為ereg函式存在n...

PHP下ereg實現匹配ip的正則

我們先看個 片段 如下 ip 1.1.1.255 chr 0 haha if ereg 0 9 0 9 0 9 0 9 ip else 這個ereg正則限制了 ip的資料為 這樣的形式,表面上看上面的 應該輸出 unknown 而實際卻輸出了 1.1.1.255haha 因為ereg函式存在null...