PHP編程中正則表達式應用實例一

      正則表達式應用實例,筆者會在隨後的博文裏面陸續發佈其應用實例。

處理Email地址

      在用戶發佈的內容中,我們需要捕捉其中的email,給其增加mailto的鏈接。

code:

   1: $str    = "My email is [email protected]";
   2: //$newStr    = ereg_replace("([.a-zA-Z0-9]+@[.a-zA-Z0-9]+)",'//1',$str);
   3: //$newStr    = preg_replace('/([.a-zA-Z0-9]+@[.a-zA-Z0-9]+)/','//1',$str);
   4: //$newStr    = preg_replace('/([.a-zA-Z0-9]+@[.a-zA-Z0-9]+)/','$1',$str);
   5: $newStr    = preg_replace('/([.a-zA-Z0-9]+@[.a-zA-Z0-9]+)/','//1',$str);
   6: echo $newStr,'';

      這裏用到了子表達式引用,使用//1或者$1(應用於preg)來引用pattern中的第一個子表達式,依次類推。

撲捉img中的src

      有時我們需要抓取img中的src內容。這裏使用到避免貪婪模式方法。

code:

   1: $str    = '';
   2:  
   3: preg_match('/src="(.*?)"/', $str, $match);
   4:  
   5: print_r($match);
   6:  
   7: //Array ( [0] => src="http://56hd.com/images/logo.gif", [1] => http://56hd.com/images/logo.gif )

      使用.*?中的?來實現非貪婪模式匹配。

過濾HTML文檔JS腳本

      過濾危險腳本,在WEB設計中很重要。

Code:

   1: $script    = '
   2:  href="favicon.ico" rel="CR ICON" alt="[Image]" />
   3:  href="/templates/WithAD/css/common.css" type="text/css" rel="stylesheet" />
   4: 
   5: var siteUrl = "";
   6: var siteUrl = "";
   7: var siteUrl = "";
   8: 
   9: <script src="/include/js/ajax.js" type="text/javascript" language="javascript"></script>
  10: <script src="/include/js/common.js" type="text/javascript" language="javascript"></script>
  11:  media="all" href="/styles/kong/index.css" type="text/css" rel="stylesheet" />
  12: <script type="text/javascript" src="/templates/WithAD/images/common.js"></script>
  13:  media="all" href="/styles/china/index.css" type="text/css" rel="stylesheet" />
  14: 
  15: 
  16: ';
  17:  
  18: $patten    = '@
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章