Ⅰ php中:什麼意思
PHP中「?:」指的是三目運算符。
三元運算符,又稱條件運算符,是計算機語言的重要組成部分。它是唯一一個有三個操作數的操作符,所以有時它被稱為三元操作符。一般來說,二項式運算元是右界的。
三元運算符提供了一種表示簡單if-else語句的簡寫方法。操作符由問號(?)組成。和一個冒號(:)的形式:表達式?表達式:表達式;一個語句被稱為條件表達式,它由三個子表達式組成,使用問號?結腸:分開。
問號前的條件表達式部分是要測試的條件。這類似於if語句中括弧中的表達式。如果條件為真,那麼執行Betweenand:否則,在:之後執行該部分。如果您認為有幫助,可以在子表達式周圍加上括弧。
(1)php表達式擴展閱讀:
運算規則:
對於條件表達式b?X:y,計算條件b,然後做出判斷。如果b的值為真,則計算x的值,結果為x的值;否則,計算y的值,得到y的值。
條件表達式永遠不會同時求x和y的值。條件運算符是右結合的,也就是說,從右到左求值。例如,一個?B:c?D:e會按a嗎?B:(c?D:e)執行。
可以理解為:條件?結果1:結果2,裡面?數字是格式要求。如果條件為真,條件為真就是結果1,否則就是結果2。
Ⅱ php正側表達式括弧問題
(.*)(.*)這個能匹配到的內容和(.*)一樣了,沒有什麼區別。你只能取到匹配組1裡面的內容。
foram_yt_tid_xxxxxxx.html
xxxxxxx內容是個什麼格式,給個例子呢?要能把參數斷開的才可以,正則要重寫下。
Ⅲ php 條件表達式===、!==與==、!=有什麼不同
沒記錯的話,
== 用於判斷是否相等
!= 不等於
=== 用於判斷是否絕對相等,這個就比 == 多了一個 類型比對
!== 同理,應該是兩者相等,但類型不同
Ⅳ php正則表達式求助
沒錯,PHP的preg_match函數是只返回一條匹配內容,preg_match_all返回一個多維數組.
根據你的正則表達式,你是想取(.*)中的數據吧,那麼你只要列印第一捕獲組的數據,就是print_r($neirong[1]);如果有多條數據匹配,那麼它還是一個一維數組,你可以用for循環遍歷它.
for($i=0;$i<count($neirong[1]);$i++){
print_r($neirong[1][$i]." ");
}
這樣就沒有數組輸出了.
Ⅳ php正則表達式問題
/後邊的是修正符
其中i是不區分大小寫
修正符很有用的
例子:
<?php
//標記在整個模式之外;
例://$mode="/\bis\b/U",其中U在外面;
//修正符:i 不區分大小寫的匹配;
//如:"/abc/i"可以與abc或aBC或ABc等匹配;
//修正符:m 將字元串視為多行,不管是那行都能匹配;
例://模式為:$mode="/abc/m";
//要匹配的字元串為:$str="bcefg5e\nabcdfe"
//注意其中\n,換行了;abc換到了下一行;
//$str和$mode仍可以匹配,修正符m使得多行也可匹配;
//修正符:s 將字元串視為單行,換行符作為普通字元;
例://模式為:$mode="/pr.y/";
//要匹配字元串為:$str="pr\ny";
//兩者不可匹配; . 是除了換行以外的字元可匹配;
//修改下模式為:$mode="/pr.y/s";
//其中修正符s將\n視為普通字元,即不是換行;
//最後兩者可以匹配;
//修正符:x 將模式中的空白忽略;
//修正符:A 強制從目標字元串開頭匹配;
例://$mode="/abc/A";
//可以與$str="abcsdfi"匹配,
//不可以與$str2="sdsdabc"匹配;
//因為$str2不是以abc開頭;
//修正符:D 如果使用$限制結尾字元,則不允許結尾有換行;
例://模式為:$mode="/abc$/";
//可以與最後有換行的$str="adshabc\n"匹配;
//元子符$會忽略最後的換行\n;
//如果模式為:$mode="/abc/D",
//則不能與$str="adshabc\n"匹配,
//修正符D限制其不可有換行;必需以abc結尾;
//修正符:U 只匹配最近的一個字元串;不重復匹配;
例:
如模式為:
$mode="/a.*c/";
$str="abcabbbcabbbbbc" ;
preg_match($mode,$str,$content);
echo $content[0]; //輸出:abcabbbcabbbbbc;
//如果$mode="/a.*c/";變成$mode="/a.*c/U";
// 則只匹配最近一個字元串,輸出:abc;
//修正符:e 配合函數preg_replace()使用,
可以把匹配來的字元串當作正則表達式執行;
?>
Ⅵ PHP 正則表達式
代碼如下:
<?php
$str=file_get_contents('http://abc.com/aaa.php');
if (preg_match('|<input name="a" type="hidden" value="([^"]*)"/>|', $str, $reg)) $out=$reg[1];
else $out='';
echo "$out<br>\n";
?>
Ⅶ PHP對邏輯表達式解析變數
做程序你的需求很明確,是想客戶輸入表達式,你再把表達式裡面的字母換成變數是么?
這個不難,問題出在你要把用戶輸入的該替換的變數和常量,符號區分開來。但是我看不知道你要用什麼編程語言,所以我先給你講下思路吧、客戶輸入的是一個字元串,你正則查找裡面的所有字母,就是變數,你再把字母換成變數就行。
Ⅷ php正則表達式:
<?
$line='123123234324/File/images/time/5625.jpg"234234sdfsadf';
preg_match_all("/\/File\/images\/([^\"]*)/s",$line,$match);
print_r($match);
?>
顯示為
Array ( [0] => Array ( [0] => /File/images/time/5625.jpg ) [1] => Array ( [0] => time/5625.jpg ) )
$match[1][0] 就是你想要的內容吧 ,File/images/開始,「結束之間的內容 就是中間的內容不包含 雙引號 " 所以用 [^\"]* 來匹配這部分內容
你這里不要用 ^ 和 $ 來表示開頭結尾,因為 /File/ima 和 " 並不是這個字元串的開頭和結尾。
Ⅸ PHP正則表達式
不用正則過濾,入庫前用addslashes -- 添加反斜線引用字元串,該字元串為了資料庫查詢語句等的需要在某些字元前加上了反斜線。如:單引號(')、雙引號(")、反斜線(\)與 NUL(NULL 字元)。
代碼:
if (!get_magic_quotes_gpc()){
$str=addslashes($str);
}
處理過的$str就可以安全入庫了。再不會出現插入時導致sql語句錯誤。
Ⅹ php正則表達式的寫法
如果這些是單詞 ,加上個 \bass\b 加上個\b 錨點匹配[\S]與[\s]空白與非空白的邊界
就能只匹配 ass 不會匹配 class