1樓:海天盛
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檔案並檢視程式執行的結果。從這兩個結果可以看出,統計字串長度已經成功實現。
2樓:__峰迴路轉
preg_match() 函式用於進行正規表示式匹配,成功返回 1 ,否則返回 0 。
preg_match() 匹配成功一次後就會停止匹配,如果要實現全部結果的匹配,則需使用preg_match_all() 函式。
例子:<?php
// 模式定界符後面的 "i" 表示不區分大小寫字母的搜尋if (preg_match ("/hi/i", "welcome to hi-docs.com.")) else
?>
// 輸出 a match was found.
3樓:
1 preg_match('/\\.(gif|jpeg|png|bmp|doc|)$/i', $filename)這句話的意思是檢查檔名稱是不是以點.gif/.
jpeg...結束的
2 preg_match只要匹配到一個符合條件的就結束查詢,而preg_match_all要將字串從頭檢查到尾,不論是否找到匹配字元。
3 if (!preg_match('/\\.($allowtype)$/i', $filename)) 這句話有錯,'引號中的$allowtype是不能引用變數值的,只當作字串,因此應該這樣:
if (!preg_match('/\\.('.
$allowtype.')$/i', $filename))
4樓:匿名使用者
$filename--需要匹配的內容
preg_match()和preg_match all()函式的區別:一個匹配到內容就結束,一個匹配全部符合條件的;
怎麼改?把if (!preg_match('/\\.(gif|jpeg|png|bmp|doc|)$/i', $filename)) 裡面的!去掉唄
有關於php if () 和!及正則函式preg_match判斷問題
5樓:匿名使用者
^||if(!$m || !preg_match("/^[a-z]+$/", $m))
! 是不為真 即0, false或null 等值|| 是or的意思即或者
!preg_match 即不匹
配上面版的**是判斷$m 這個權值是0, 空值或false時, 或者 不匹配英文字母就執行下面的**
6樓:匿名使用者
preg_match("/^[a-z]+$/", $m)中/^[a-z]+$/是正則表達抄式,這個表示式的意思是所有匹配的英文字串。
if(!$m || !preg_match("/^[a-z]+$/", $m))意思是非空且不是英文字串
7樓:匿名使用者
如果$m的布覆爾值為false或者$m不為制小寫字母時,執行 $m = $_g['cfg']['index_module']; 否則 $m = 'index';
其實前一個判斷是完全沒必要的,這種判斷在preg段完全可以實現!
php中ereg() ,preg_match() 有啥區別?
8樓:放逐的天歌
ereg是早先的,preg_match是後加的,php6要廢除posix正則了,不過很奇怪,很多老外的經典教程裡只寫posix正則,不寫perl型的
9樓:匿名使用者
函式用法:
preg_match(mode, string subject, array matches); 相比ereg更加規範,執行效率越高
ereg(mode, string subject, array regs);
mode:正規表示式(preg_match中的mode必須以』/'開始和「/」結束)
subject: 需要驗證的字串
matchs/regs: 匹配後得到的結果。以陣列的形式儲存
preg_match和 preg_match_all區別是preg_match只匹配一次。而preg_match_all全部匹配,直到字串結束。
示例如下:
<?php
$date = date(『y-m-d』);
//ereg函式
ereg("([0-9])-([0-9])-([0-9])",$date,$rs);
var_dump($rs);
unset($rs);
echo "—————————————–
";//preg_match函式
preg_match("/([\d])-([\d])-([\d])/",$date.$date,$rs);
var_dump($rs);
unset($rs);
echo "—————————————–
";//preg_match_all函式
preg_match_all("/([\d])-([\d])-([\d])/",$date.$date,$rs);
var_dump($rs);
?>
如下輸出:
array(4)
—————————————–
array(4)
—————————————–
array(4)
[1]=>
array(2)
[2]=>
array(2)
[3]=>
array(2)
}php中如何用正則函式來驗證中文字串
驗證中文字串正規表示式為: /^[\x-\x]+$/u
方法如下:
$str = "個人部落格";
if(preg_match("/^[\x-\x]+$/u",$str))else
php preg_match 函式怎麼匹配中文?
10樓:匿名使用者
<?php
//示例**:bai
$str = 'hello 這裡是php preg_match正則匹配du演示zhi';
// utf8編碼:正規表示式dao匹配中文內;if(preg_match('/[\x-\x]+/u',$str))else
// gb2312,gbk編碼:正規表示式匹配中文;
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."a-za-z0-9_]+$/",$str))else
?>
11樓:家有核潛艇
你只要注意 編碼就行了,一樣的匹配
12樓:匿名使用者
$a = "漢123456字 漢dsghh45字";
preg_match_all('/漢(.*?)字/', $a, $match);
foreach($match[1] as $a) echo $a."";
13樓:匿名使用者
$str="白日依山盡";
$preg="/白(.*?)盡/";
preg_match($preg,$str,$arrs);
echo $arrs[1];
14樓:居平鞠凝丹
<?php
//示例**:
$str = 'hello 這裡
bai是
duphp preg_match正則匹配演示';
// utf8編碼:正規表示式匹zhi配中dao文;
if(preg_match('/[\x-\x]+/u',$str))else
// gb2312,gbk編碼:正規表示式匹配中文;
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."a-za-z0-9_]+$/",$str))else
?>
php中正則函式preg_match匹配出現錯誤,應該是什麼問題?
15樓:
這個是你的表示式語法問題,preg_match中的表示式應該帶有斜槓,你這個應該修改為'/^[a-z0-9_\-\.]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$/i'
php中gt的作用,PHP中的作用
不用的地方有不同的用處 1,陣列賦值 陣列中用到的,就是類似於python中的字典 count是索引,在其他的語言中,一般陣列索引是1,2,3,4,但是php不僅支援數字索引而且還支援字元索引,count是count這個字元索引所指向的指,就是這個意思 在php中的作用 這就就是取模。意思就是取餘。...
php中的,PHP中的 , 是什麼意思
一 的意思 是物件執行方 法或取得屬性用的。是陣列裡鍵和值對應用的。二 用法 1 的用法陣列中用於陣列的 key 和 value之間的關係例如 a array 0 1 2 4 echo a 0 echo a 2 2 的用法類中用於引用類例項的方法和屬性例如 class testvar var 0 a...
公文函中的申請函怎麼寫?
您好!很高興為您解答問題,以下是我為您提供的解答內容 中中的申請函,你需要先寫上申請的物件,然後再敘述需要申請什麼,然後再寫上申請人,日期。是函。函適用於不相隸屬單位之間行文。關於申請函 正文寫申請事項,寫完後,末尾段可為 特此函請,請予函覆。公文函的格式是什麼?範文 關於商洽委託代培涉外秘書人員的...