最常用的PHP正则表达式收集整理

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了最常用的PHP正则表达式收集整理脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

PHP代码
$str = PReg_replace("/(<a.*&#63;>)(.*?)(<//a>)/", '/1<span class="link">/2</span>/3', $str);
其中用了三个子模式(每个括号中内容为一个子模式),第一个是链接开始标签,第二个是链接文本,第三个是</a>

然后第二个参数中/1、/2、/3就表示这三个部分,要替换成什么样子还不简单

获取页面中的所有链接地址的PHP函数

下面这个用PHP写的函数,可以获取任意的字符串$string中的所有链接地址($string可以是从一个HTML页面文件直接读取出来的字符串),结果保存在一个数组中返回.该函数自动把子邮件地址排除在外,而且返回的数组中不会有重复元素.&nbsp;

 function GetAllLink($string)  {  $string = str_replace("/r","",$string);  $string = str_replace("/n","",$string);   $regex[url] = "((http|https|ftp|telnet|news):////)?([a-z0-9_/-///.]+/.[][a-z0-9:;&#@=_~%/?///./,/+/-]+)";  $regex[email] = "([a-z0-9_/-]+)@([a-z0-9_/-]+/.[a-z0-9/-/._/-]+)";   //去掉标签之间的文字  $string = eregi_replace(">[^<>]+<","><", $string);   //去掉JAVASCRIPT代码  $string = eregi_replace("<!--.*//-->","", $string);   //去掉非<a>的HTML标签  $string = eregi_replace("<[^a][^<>]*>","", $string);   //去掉EMAIL链接  $string = eregi_replace("<a([ ]+)href=([/"']*)mailto:($regex[email])([/"']*)[^>]*>","", $string);   //替换需要的网页链接  $string = eregi_replace("<a([ ]+)href=([/"']*)($regex[url])([/"']*)[^>]*>","//3/t", $string);   $output[0] = strtok($string, "/t");  while(($temp = strtok("/t")))  {  if($temp && !in_array($temp, $output))  $output[++$i] = $temp;  }   return $output;  }

以下是以PHP的语法所写的示例
验证字符串是否只含数字与英文,字符串长度并在4~16个字符之间

 <?php  $str = 'a1234';  if (preg_match("^[a-zA-Z0-9]{4,16}$", $str)) {  echo "验证成功";} else {  echo "验证失";}?>  

简易的台湾身分证字号验证

 <?php  $str = 'a1234';  if (preg_match("^(?:/d{15}|/d{18})$", $str)) {  echo "验证成功";  } else {  echo "验证失";}  ?> 

下面的代码实现文字中的代码块,功能就如你在脚本之家看到的代码一样。

 function codedisp($code) {  global $discuzcodes;  $discuzcodes['pcodecount']++;  $code = htmlsPEcialchars(str_replace('//"', '"', preg_replace("/^[/n/r]*(.+?)[/n/r]*$/is", "//1", $code)));  $discuzcodes['codehtml'][$discuzcodes['pcodecount']] = "<br><div class=/"msgheader/"><div class=/"right/"><a href=/"###/" class=/"smalltxt/" onclick=/"copycode($('phpcode$discuzcodes[codecount]'));/">[复制此代码]</a></div>代码如下:</div><div class=/"msgborder/" id=/"phpcode$discuzcodes[codecount]/">".fhtml2($code)."</div><br>";  $discuzcodes['codecount']++;  return "[/tDISCUZ_CODE_$discuzcodes[pcodecount]/t]";  }  $message = preg_replace("//s*/[code/](.+?)/[//code/]/s*/ies", "codedisp('//1')", $message);  $message = preg_replace("//s*/[html/](.+?)/[//html/]/s*/ies", "htmldisp('//1')", $message);  

脚本宝典总结

以上是脚本宝典为你收集整理的最常用的PHP正则表达式收集整理全部内容,希望文章能够帮你解决最常用的PHP正则表达式收集整理所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。