php忽略大小寫
㈠ php正則表達式 怎樣從後面開始匹配
這頭尾兩個斜杠/是正則表達式的限定符,這是perl正則的標准,而php支持的正則表達式就是perl正則的規范。表示兩個斜杠之間就是正則內容,在結尾斜杠後面可以開啟匹配的模式,例如:/^[\w\x80-\xff]{3,15}$/i
,後面的
i
就是忽略大小寫匹配。
㈡ 求一個PHP的密碼匹配正則
你這里要求了密碼長度為6-18位,/[\s\S]+/只能匹配任意字元,且能偶匹配的字元遠超出你給的限制。
建議你在匹配密碼前,先對密碼字元串的長度進行檢驗,然後再對密碼字元的合法性進行判斷,
這里合法性的判斷又有很多,如必須以字母開頭、數字開頭、數字結尾等等;
下面寫了一個正則表達式只能匹配當且僅包含由字母、數字、特殊字元!@#$%^&*_組成的密碼字元串。
如下:
[-\da-zA-Z!@#$%^&*_]*
更嚴格的判斷,比如開頭^,結尾$的判斷,必須包含一個字母一個數字等等,根據自己的需要進行更改完善
㈢ 怎麼讓linux的php不區分大小寫
沒有辦法搏芹態!首枝 因為大小寫敏感 是linux系統層的 跟PHP PPP HPP 神馬的都沒有關系
解決方案:修改文件和文件夾的名字 跟鏈接基源 大小寫匹配 反之也可
㈣ 怎樣設置可以讓php不區分資料庫裡面的大小寫
進入php源程序目錄中的ext目錄中,這里存放著各個擴展模塊的源代碼,選擇信凱你需要的模困首塊,比如curl模塊:cd curl執行phpize生成編譯文件汪坦數!
phpize在PHP安裝目錄的bin目錄/usr/local/php5/bin/phpize運行時,
可能會報錯:Cannot find autoconf. Please check your autoconf installation andthe $PHP_AUTOCONFenvironment variable is set correctly and then rerun thisscript.,需要安裝autoconf:yum install autoconf(RedHat或者CentOS)、apt-get installautoconf(Ubuntu Linux)!
執行/usr/local/php5/bin/php -v這個命令時,php會去檢查配置文件是否正確,
如果有配置錯誤,這里會報錯,可以根據錯誤信息去排查!
㈤ php中strstr stristr strcchr 和strpos的區別
strstr —查找字元串的首次出現,返回值是開始出現到字元串結尾的字元串.
stristr 是strstr的忽略大小寫版本,作用同上
strrchr—查找指定字元在字元串中的最後一次出現
strpos—查找字元串首次出現的位置
沒有strcchr這個函數.
㈥ PHP正則表達式的使用技巧
PHP正則表達式的定義
用於描述字元排列和匹配模式的一種語法規則 它主要用於字元串的模式分割 匹配 查找及替換操作
PHP中的正則函數
PHP中有兩套正則函數 兩者功能差不多 分別為
一套是由PCRE(Perl Compatible Regular Expression)庫提供的 使用 preg_ 為前綴命名的函數
一套由POSIX(Portable Operating System Interface of Unix )擴展提供的 使用以 ereg_ 為前綴命名的函數 (POSIX的正則函數庫 自PHP 以後 就不在推薦使用 從PHP 以後 就將被移除)
由於POSIX正則即將推出歷史舞台 並且PCRE和perl的形式差不多 更利於我們在perl和php之間切換 所以這里重點介紹PCRE正則的使用
PCRE正則表達式
PCRE全稱為Perl Compatible Regular Expression 意思是Perl兼容正則表達式
在PCRE中 通常將模式表達式(即正則表達式)包含在兩個反斜線 / 之間 如 /apple/
正則中重要的幾個概念有 元字元 轉義 模式單元(重復) 反義 引用和斷言 這些概念都可以在文章[ ]中輕松的理解和掌握
常用的元字元(Meta character)
元字元 說明
/A 匹配字元串串首的原子
/Z 匹配字元串串尾的原子
/b 匹配單詞的邊界 //bis/ 匹配頭為is的字元串 /is/b/ 匹配尾為is的字元串 //bis/b/ 定界
/B 匹配除單詞邊界之外的任意字元 //Bis/啟局 匹配單詞 This 中的 is
/d 匹配一個數字 等價於[ ]
/D 匹配除數字以外任何一個字元 等價於[^ ]
/w 匹配一個英文字母 數字或下劃線 等價於[ a zA Z_]
/W 匹配除英文字母 數字和下劃線以外任何一個字元 等價於[^ a zA Z_]
/s 匹配一個空白字元 等價於[/f/t/v]
/S 匹配除空白字元以外任何一個字元 等價於[^/f/t/v]
/f 匹配一個換頁符等價於 /x c 或 /cL
匹配段旁鋒一個換行符 等價於 /x a 或 /cJ
匹配一個回車符等價於/x d 或 /cM
/t 匹配一個製表符 等價於 /x /或/cl
/v 匹配一個垂直製表符 等價於/x b或/ck
/oNN 匹配一個八進制數字
/xNN 匹配一個十六進制數字
/cC 匹配一個控制字元
模式修正符(Pattern Modifiers)
模式修正符在忽略大小寫 匹配多行中使用特別多 掌握了這一個修正符 往往能解決我們遇到的很多問題
i -可同時匹配大小寫字母
M -將字元串視為多行
S -將字元串視為單行 換行符做普通字元看待 使 匹配任何字元
X -模式中的空白忽略不計
U -匹配到最近的字元串
e -將替換的字元串作為表達使用
格式 /apple/i匹配 apple 或 Apple 等 忽略大小寫 /i
PCRE的模式單元
// 提取第一位的屬性
/^/d{ } ([/W])/d{ }// /d{ }$匹配 / / 等字元串 但上述正則表達式不匹配 / 的格式 這是因為模式 [/W] 的結果 / 已經被存儲 下個位置 / 引用時 其匹配模式也是字元 /
當不需要存儲匹配結果時使用非存儲模式單元 (? )
例如/(?:a|b|c)(D|E|F)// g/ 將匹配 aEEg 在一些正則表達式中 使握晌用非存儲模式單元是必要的 否則 需要改變其後引用的順序 上例還可以寫成/(a|b|c)(C|E|F)/ g/
PCRE正則表達式函數
以下為引用的內容
preg_match()和preg_match_all() preg_quote() preg_split() preg_grep() preg_replace()
函數的具體使用 我們可以通過PHP手冊來找到 下面分享一些平時積累的正則表達式
匹配action屬性
以下為引用的內容
$str = ; $match = ; preg_match_all( //s+action=/ (?!)( *?)/ /s/ $str $match); print_r($match);
在正則中使用回調函數
以下為引用的內容
/** * replace some string by callback function * */ function callback_replace() { $url = ; $str = ; $str = preg_replace ( /(?<=/saction=/ )(?!)( *?)(?=/ /s)/e search(/$url // ) $str ); echo $str; } function search($url $match){ return $url / $match; }
帶斷言的正則匹配
以下為引用的內容
$match = ; $str = xxxxxx cn bold font paragraph text
; preg_match_all ( /(?<=<(/w{ })>) *(?=</// >)/ $str $match ); echo 匹配沒有屬性的HTML標簽中的內容 ; print_r ( $match );
替換HTML源碼中的地址
以下為引用的內容
$form_ = preg_replace ( /(?<=/saction=/ |/ssrc=/ |/s)(?!|javascript)( *?)(?=/ /s)/e add_url(/$url / // / ) $form_ );
lishixin/Article/program/PHP/201311/21027
㈦ PHP正則表達式問題:/<[^>].*>.*<\/>/si 這是一句過濾所有腳本的表達式。能詳細解釋下不
<除了「>」的任意n個字元字元>任意字元</敬啟>孝局,不分大小寫
大多數正則表達式的解析都一樣的,
i表示不區分大小寫,
s是修正符,模式中的圓點元字元(.)匹配所有的字元,包括換行符。沒有此設定的話,則不包括換行符。
[^>]表示匹配非>字元,「.」表示匹配所有的字元。
<\/>匹配亮慎如</>,\是轉義符,\/即表示/
㈧ PHP正則表達式參數 /i,/g,/ig,/gi,/m的區別和含義
i不區分大小寫
g貌似不存在吧
m多行模式,即字元串中的每一行開始和結束都能分別被^和$匹配,普通情況下^和$匹配整個
字元串的開頭和結束。
更多資料,可以參考我的博客《我眼裡的正則表達式(入門)》
鏈接:http://www.zjmainstay.cn/my-regexp
㈨ php in_array 函數如何實現不區分大小寫
在比較之前統一替換成小寫或大困桐寫.
<?php
$a = array('aBc','def');
//把數汪吵坦組先統一替成小寫
foreach($a as &$item){
$item = strtolower($item);
}
$b= 'Abc';
//把要查詢的字元串也改成小寫.如果你要保存碰梁原字元串,寫到別的變數中.
$b1 = strtolower($b);
echo in_array($b1,$a);
?>