亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Regex > 正文

15個超實用的php正則表達式

2020-03-16 21:01:56
字體:
來源:轉載
供稿:網友
對于開發人員來說,正則表達式是一個非常有用的功能,它提供了 查找,匹配,替換 句子,單詞,或者其他格式的字符串。這篇文章主要介紹了15個超實用的php正則表達式,需要的朋友可以參考下
 

在這篇文章里,我已經編寫了15個超有用的正則表達式,WEB開發人員都應該將它收藏到自己的工具包。

驗證域名
檢驗一個字符串是否是個有效域名.
 

  1. $url = "http://www.49028c.com/";  
  2. if (preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i', $url)) {  
  3.   echo "Your url is ok.";  
  4. else {  
  5.   echo "Wrong url.";  
  6. }  
?

從一個字符串中 突出某個單詞
這是一個非常有用的在一個字符串中匹配出某個單詞 并且突出它,非常有效的搜索結果
 

  1. $text = "Sample sentence from KomunitasWeb, regex has become popular in web programming. Now we learn regex. According to wikipedia, Regular expressions (abbreviated as regex or 
  2.   
  3. regexp, with plural forms regexes, regexps, or regexen) are written in a formal language that can be interpreted by a regular expression processor";  
  4. $text = preg_replace("/b(regex)b/i"'<span style="background:#5fc9f6">1</span>', $text);  
  5. echo $text; 
?

突出查詢結果在你的 WordPress 博客里就像剛才我說的,上面的那段代碼可以很方便的搜索出結果,而這里是一個更好的方式去執行搜索在某個WordPress的博客上打開你的文件 search.php ,然后找到 方法 the_title() 然后用下面代碼替換掉它
 

  1. echo $title;  
  2.   
  3. Now, just before the modified line, add this code:  
  4.   
  5. <?php  
  6.   $title   = get_the_title();  
  7.   $keys= explode(" ",$s);  
  8.   $title   = preg_replace('/('.implode('|', $keys) .')/iu',  
  9.     '<strong>/0</strong>',  
  10.     $title);  
  11. ?>  
  12.   
  13. Save the search.php file and open style.css. Append the following line to it:  
  14.   
  15. strong.search-excerpt { background: yellow; }  
?

從HTML文檔中獲得全部圖片
如果你曾經希望去獲得某個網頁上的全部圖片,這段代碼就是你需要的,你可以輕松的建立一個圖片下載機器人
 

  1. $images = array();  
  2. preg_match_all('/(img|src)=("|')[^"'>]+/i', $data, $media);  
  3. unset($data);  
  4. $data=preg_replace('/(img|src)("|'|="|=')(.*)/i',"$3",$media[0]);  
  5. foreach($data as $url)  
  6. {  
  7.   $info = pathinfo($url);  
  8.   if (isset($info['extension']))  
  9.   {  
  10.     if (($info['extension'] == 'jpg') ||  
  11.     ($info['extension'] == 'jpeg') ||  
  12.     ($info['extension'] == 'gif') ||  
  13.     ($info['extension'] == 'png'))  
  14.     array_push($images, $url);  
  15.   }  
  16. }  
?

刪除重復字母
經常重復輸入字母? 這個表達式正適合.
 

  1. $text = preg_replace("/s(w+s)1/i""$1", $text); 
?

刪除重復的標點
功能同上,但只是面對標點,白白重復的逗號
 

  1. $text = preg_replace("/.+/i"".", $text);  
?

匹配一個XML或者HTML標簽
這個簡單的函數有兩個參數:第一個是你要匹配的標簽,第二個是包含XML或HTML的變量,再強調下,這個真的很強大
 

  1. function get_tag( $tag, $xml ) {  
  2.  $tag = preg_quote($tag);  
  3.  preg_match_all('{<'.$tag.'[^>]*>(.*?)</'.$tag.'>.'}',  
  4.           $xml,  
  5.           $matches,  
  6.           PREG_PATTERN_ORDER);  
  7.   
  8.  return $matches[1];  
  9. }  
?

匹配具有屬性值的XML或者HTML標簽
這個功能和上面的非常相似,但是它允許你匹配的標簽內部有屬性值,例如你可以輕松匹配 <div id=”header”>
 

  1. function get_tag( $attr, $value, $xml, $tag=null ) {  
  2.  if( is_null($tag) )  
  3.   $tag = '/w+';  
  4.  else 
  5.   $tag = preg_quote($tag);  
  6.   
  7.  $attr = preg_quote($attr);  
  8.  $value = preg_quote($value);  
  9.   
  10.  $tag_regex = "/<(".$tag.")[^>]*$attr/s*=/s*".  
  11.         "(['/"])$value//2[^>]*>(.*?)<////1>/" 
  12.   
  13.  preg_match_all($tag_regex,  
  14.          $xml,  
  15.          $matches,  
  16.          PREG_PATTERN_ORDER);  
  17.   
  18.  return $matches[3];  
  19. }  
 

匹配十六進制顏色值
web開發者的另一個有趣的工具,它允許你匹配和驗證十六進制顏色值.
 

  1. $string = "#555555";  
  2. if (preg_match('/^#(?:(?:[a-fd]{3}){1,2})$/i', $string)) {  
  3. echo "example 6 successful.";  
  4. }  
?

查找頁面 title
這段代碼方便查找和打印 網頁 <title> 和</title> 之間的內容
 

  1. $fp = fopen("http://www.catswhocode.com/blog","r");  
  2. while (!feof($fp) ){  
  3.   $page .= fgets($fp, 4096);  
  4. }  
  5.   
  6. $titre = eregi("<title>(.*)</title>",$page,$regs);  
  7. echo $regs[1];  
  8. fclose($fp); 
?

解釋 Apache 日志
大多數網站使用的都是著名的Apache服務器,如果你的網站也是,那么使用PHP正則表達式解析 apache 服務器日志 怎么樣?
 

  1. //Logs: Apache web server  
  2. //Successful hits to HTML files only. Useful for counting the number of page views.  
  3. '^((?#client IP or domain name)S+)s+((?#basic authentication)S+s+S+)s+[((?#date and time)[^]]+)]s+"(?:GET|POST|HEAD) ((?#file)/[^ ?"]+?.html?)??((?#parameters)[^ ?"]+)? HTTP/[0-9.]+"s+(?#status code)200s+((?#bytes transferred)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#user agent)[^"]*)"$' 
  4.   
  5. //Logs: Apache web server  
  6. //404 errors only  
  7. '^((?#client IP or domain name)S+)s+((?#basic authentication)S+s+S+)s+[((?#date and time)[^]]+)]s+"(?:GET|POST|HEAD) ((?#file)[^ ?"]+)??((?#parameters)[^ ?"]+)? HTTP/[0-9.]+"s+(?#status code)404s+((?#bytes transferred)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#user agent)[^"]*)"$' 
?

使用智能引號代替雙引號
如果你是一個印刷愛好者,你將喜歡這個允許用智能引號代替雙引號的正則表達式,這個正則被WORDPRESS在其內容上使用
 

  1. preg_replace('B"b([^"x84x93x94rn]+)b"B''?1?', $text); 
?

檢驗密碼的復雜度
這個正則表達式將檢測輸入的內容是否包含6個或更多字母,數字,下劃線和連字符. 輸入必須包含至少一個大寫字母,一個小寫字母和一個數字

復制代碼代碼如下:
'A(?=[-_a-zA-Z0-9]*?[A-Z])(?=[-_a-zA-Z0-9]*?[a-z])(?=[-_a-zA-Z0-9]*?[0-9])[-_a-zA-Z0-9]{6,}z'  
 

 

WordPress: 使用正則獲得 帖子上的圖片 
我知道很多人是WORDPRESS的使用者,你可能會喜歡并且愿意使用 那些從帖子的內容檢索下來的圖像代碼。使用這個代碼在你的BLOG只需要復制下面代碼到你的某個文件里
 

  1. <?php if (have_posts()) : ?>  
  2. <?php while (have_posts()) : the_post(); ?>  
  3.   
  4. <?php  
  5. $szPostContent = $post->post_content;  
  6. $szSearchPattern = '~<img [^>]* />~';  
  7.   
  8. // Run preg_match_all to grab all the images and save the results in $aPics  
  9. preg_match_all( $szSearchPattern, $szPostContent, $aPics );  
  10.   
  11. // Check to see if we have at least 1 image  
  12. $iNumberOfPics = count($aPics[0]);  
  13.   
  14. if ( $iNumberOfPics > 0 ) {  
  15.    // Now here you would do whatever you need to do with the images  
  16.    // For this example the images are just displayed  
  17.    for ( $i=0; $i < $iNumberOfPics ; $i++ ) {  
  18.      echo $aPics[0][$i];  
  19.    };  
  20. };  
  21.   
  22. endwhile;  
  23. endif;  
  24. ?> 
?

自動生成笑臉圖案
被WordPress使用的另一個方法, 這段代碼可使你把圖像自動更換一個笑臉符號
 

  1. $texte='A text with a smiley ';  
  2. echo str_replace(':-)','<img src="smileys/souriant.png">',$texte);  
?

移除圖片的鏈接
 

  1. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  2. <?php  
  3.   $str = '  
  4.     <a href="http://www.5idev.com/">5idev</a>其他字符  
  5.     <a href="http://www.sohu.com/">sohu</a>  
  6.     <a href="http://www.sohu.com/"><img src="http://www.fashion-press.net/img/news/3176/mot_06.jpg" /></a>  
  7.     <br>';  
  8.   
  9.   
  10.   //echo preg_replace("/(<a.*?>)(<img.*?>)(<//a>)/", '$2', $str);   
  11.   echo preg_replace("/(<a.*?>)(<img.*?>)(<//a>)/"'/2', $str);   
  12. ?> 
?

以上就是15個超實用的php正則表達式,希望對大家的學習有所幫助。



注:相關教程知識閱讀請移步到正則表達式頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久亚洲春色中文字幕| 亚洲一区二区在线| 国产成人综合精品在线| 中文字幕亚洲欧美日韩在线不卡| 亚洲va久久久噜噜噜| 日韩欧美主播在线| 欧美片一区二区三区| 欧美日韩另类字幕中文| 欧美一区二区三区四区在线| 欧美激情性做爰免费视频| 欧美午夜电影在线| 91九色精品视频| 欧美激情久久久久| 日韩精品视频在线| 国产丝袜精品视频| 国内精品一区二区三区四区| 欧美一级高清免费播放| 黄色精品一区二区| 国产精品一区久久| 欧美与欧洲交xxxx免费观看| 国产精品对白刺激| 日韩美女视频免费看| 在线国产精品播放| 亚洲四色影视在线观看| 欧美成人一区在线| 成人在线播放av| 国产精品网站视频| 秋霞成人午夜鲁丝一区二区三区| 国内精品国产三级国产在线专| 日韩高清有码在线| 精品动漫一区二区三区| 久久99久国产精品黄毛片入口| 亚洲电影成人av99爱色| 色妞在线综合亚洲欧美| 亚洲欧洲黄色网| 色综合久久88色综合天天看泰| 亚洲欧美国产视频| 欧美一区视频在线| 欧美精品成人91久久久久久久| 色樱桃影院亚洲精品影院| 久久视频在线视频| 韩国美女主播一区| 久久国产色av| 欧美尺度大的性做爰视频| 国产成人久久久精品一区| 日韩极品精品视频免费观看| 中文字幕亚洲欧美日韩在线不卡| 亚洲欧美日韩网| 欧美色另类天堂2015| 青青草原一区二区| 亚洲人成电影在线播放| 国产日本欧美一区二区三区在线| 欧美肥老妇视频| 国产精品久久婷婷六月丁香| 97在线免费视频| 亚洲精品资源在线| 成人久久一区二区三区| 亚洲伊人一本大道中文字幕| 久久久久中文字幕| 久久久精品久久| 色综久久综合桃花网| 国产成人亚洲综合91| 日韩欧美视频一区二区三区| 欧美一级bbbbb性bbbb喷潮片| 午夜精品久久17c| 欧洲亚洲免费视频| 69影院欧美专区视频| 夜夜嗨av一区二区三区免费区| 欧美性生交大片免费| 永久免费精品影视网站| 欧美另类精品xxxx孕妇| 国产精品热视频| 国产精品夫妻激情| 96精品久久久久中文字幕| 亚洲欧美日韩中文在线制服| 欧美一级高清免费| 97人洗澡人人免费公开视频碰碰碰| 亚洲色图35p| 国产成人综合精品在线| 国产精品久久久久久久久免费看| 欧美日韩国产一区二区三区| 日韩中文字幕第一页| 欧美精品成人91久久久久久久| 国产视频综合在线| 日韩av电影在线网| 日本精品免费观看| 日韩国产一区三区| 国产欧美亚洲视频| 欧美国产精品va在线观看| 97av在线播放| 日本亚洲精品在线观看| 日韩精品免费电影| 亚洲欧洲中文天堂| 亚洲一区av在线播放| 懂色av影视一区二区三区| 日韩欧美精品免费在线| 亚洲欧美日韩国产精品| 国产97在线|日韩| 欧美中在线观看| 中文字幕欧美日韩精品| 91精品久久久久久久久久久久久久| 欧美激情在线有限公司| 国产日韩精品入口| 国产精品日韩欧美大师| 久久亚洲综合国产精品99麻豆精品福利| 国产综合视频在线观看| 国外成人性视频| 久热国产精品视频| 中文字幕亚洲一区在线观看| 国产精品久久久久久亚洲调教| 欧美性视频精品| 97精品免费视频| 国产精品一区专区欧美日韩| 亚洲精品欧美日韩专区| 国产欧美日韩综合精品| 国产成人综合精品| 一区二区三区黄色| 欧美富婆性猛交| 久久精品久久久久久国产 免费| 国产亚洲美女久久| 国产精品中文字幕在线观看| 欧美激情国产日韩精品一区18| 欧美成人一二三| 中文字幕精品一区久久久久| 亚洲护士老师的毛茸茸最新章节| 亚洲石原莉奈一区二区在线观看| 91视频免费在线| 精品视频—区二区三区免费| 久久99精品久久久久久琪琪| xxx一区二区| 欧美日韩国产页| 精品国产一区二区三区四区在线观看| 精品国产美女在线| 国语自产精品视频在线看| 国产欧美一区二区三区久久人妖| 亚洲网站在线看| 亚洲码在线观看| 国产成人鲁鲁免费视频a| 91在线观看欧美日韩| 亚洲级视频在线观看免费1级| 色狠狠久久aa北条麻妃| 亚洲影院在线看| 97婷婷大伊香蕉精品视频| 91免费视频国产| 国产热re99久久6国产精品| 久久久国产一区二区三区| 亚洲高清久久久久久| 国产一区二区精品丝袜| 欧美国产精品va在线观看| 国产日韩精品在线播放| 亚洲视频第一页| 欧美日韩在线视频首页| 久久99热精品这里久久精品| 日韩视频免费在线| 97在线视频精品| 国产一区红桃视频| 最新国产精品亚洲| 亚洲第一区中文字幕| 国产+成+人+亚洲欧洲| 欧美日韩国产色视频| 日韩久久午夜影院| 日韩免费观看视频| 亚洲午夜久久久影院| 琪琪第一精品导航|