PHP编程中正则表达式应用实例一

      正则表达式应用实例,笔者会在随后的博文里面陆续发布其应用实例。

处理Email地址

      在用户发布的内容中,我们需要捕捉其中的email,给其增加mailto的链接。

code:

   1: $str    = "My email is example@gmail.com";
   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    = 'images';
   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: <script type="text/javascript">
   5: var siteUrl = "";
   6: var siteUrl = "";
   7: var siteUrl = "";
   8: </script>
   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: <script src="/include/js/cityxiiflash.js" type="text/javascript" language="javascript">
  15: </script>
  16: ';
  17:  
  18: $patten    = '@
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值