对于开发者来说,正则表达式是一个非常有用的功能,它提供查找、匹配、替换句子、单词或其他格式的字符串。本文主要介绍15个超级实用的PHP正则表达式,需要的朋友可以参考一下。在本文中,我整理了15个超级有用的正则表达式,每个Web开发人员都应该在他的工具包中拥有这些正则表达式。验证域名验证字符串是否为有效域名$url="http://komunitasweb.com/";if(preg_match('/^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?/i',$url)){echo"Yoururlisok.";}else{echo"Wrongurl.";}Highlightawordfromastring这是一种非常有用的方法,可以匹配字符串中的单词并突出显示它,非常有效的搜索结果$text="SamplesentencefromKomunitasWeb,regexhasbecomopularinwebprogramming.Nowwelearnregex。根据维基百科,正则表达式(缩写为正则表达式或正则表达式,具有复数形式的正则表达式、正则表达式或正则表达式)是用正式语言编写的,可以由正则表达式处理器解释";$text=preg_replace("/b(regex)b/i",'1',$文本);回声$文本;在你的WordPress博客中突出显示查询结果正如我刚才所说,上面的代码可以很容易地搜索结果,这里有一个更好的执行搜索,打开你在WordPress博客上的search.php文件,找到方法the_title()并将其替换为echo$title;现在,就在修改行之前,添加以下代码:\0',$title);>Savethesearch.phpfileandopenstyle.css.Appendthefollowinglinetoit:strong.search-excerpt{background:yellow;}从HTML文档中获取所有图片如果你曾经想获取网页上的所有图片,这段代码就是你所需要的,你可以轻松构建一个图片下载机器人$images=array();preg_match_all('/(img|src)=("|')[^"'>]+/i',$data,$media);unset($data);$data=preg_replace('/(img|src)("|'|="|=')(.*)/i',"$3",$media[0]);foreach($dataas$url){$info=pathinfo($url);if(isset($info['extension'])){if(($info['extension']=='jpg')||($info['extension']=='jpeg')||($info['extension']=='gif')||($info['extension']=='png'))array_push($images,$url);}}删除重复字母经常重复输入字母?这个表达式公式是合适的。$text=preg_replace("/s(w+s)1/i","$1",$text);删除重复标点的功能同上,只是针对标点,重复的逗号无效$text=preg_replace("/.+/i",".,$text);匹配XML或HTML标记。这个简单的函数有两个参数:第一个是你要匹配的标签,第二个包含XML或HTML变量,同样,这个函数真的很强大get_tag($tag,$xml){$tag=preg_quote($tag);preg_match_all('{<'.$tag.'[^>]*>(.*?)'.$tag.'>.'}',$xml,$matches,PREG_PATTERN_ORDER);return$matches[1];}匹配带有属性值的XML或HTML标签这个功能和上面很相似,但是它允许你匹配里面有属性值的标签,例如你可以很容易地匹配functionget_tag($attr,$value,$xml,$tag=null){if(is_null($tag))$tag='\w+';else$tag=preg_quote($tag);$attr=preg_quote($attr);$value=preg_quote($value);$tag_regex="/<(".$tag.")[^>]*$attr\s*=\s*"."(['\"])$value\\2[^>]*>(.*?)<\/\\1>/"preg_match_all($tag_regex,$xml,$matches,PREG_PATTERN_ORDER);返回$matches[3];}将十六进制颜色值匹配给另一个Web开发人员有趣的工具,允许您匹配和验证十六进制颜色值。$string="#555555";if(preg_match('/^#(?:(?:[a-fd]{3}){1,2})$/i',$string)){echo"example6successful.";}查找页面标题这段代码方便查找打印和之间的内容标题>$fp=fopen("http://www.catswhocode.com/blog","r");while(!feof($fp)){$page.=fgets($fp,4096);}$titre=eregi("<标题>(.*)",$page,$regs);echo$regs[1];fclose($fp);解释Apache日志大多数网站都使用大名鼎鼎的Apache服务器,如果你的也是一样,用PHP正则表达式解析apache服务器日志怎么样?//Logs:Apachewebserver//仅成功命中HTML文件。用于统计页面浏览量。'^((?#clientIPordomainname)S+)s+((?#basicauthentication)S+s+S+)s+[((?#dateandtime)[^]]+)]s+"(?:GET|POST|HEAD)((?#file)/[^?"]+?.html?)??((?#parameters)[^?"]+)?HTTP/[0-9.]+"s+(?#statuscode)200s+((?#bytestransferred)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#useragent)[^"]*)"$'//Logs:Apachewebserver//404errorsonly'^((?#clientIPordomainname)S+)s+((?#basicauthentication)S+s+S+)s+[((?#dateandtime)[^]]+)]s+"(?:GET|POST|HEAD)((?#file)[^?"]+)??((?#parameters)[^?"]+)?HTTP/[0-9.]+"s+(?#statuscode)404s+((?#bytestransferred)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#useragent)[^"]*)"$'使用智能引号而不是双引号WordPress使用preg_replace('B"b([^"x84x93x94rn]+)b"B','?1?',$text);Checkpasswordcomplexity此正则表达式将检查输入是否包含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,您可能喜欢并愿意使用从帖子内容中检索到的那些图像代码要在您的博客中使用此代码,只需将以下代码复制到您的文件之一post_content;$szSearchPattern='~
]*/>~';//运行preg_match_alltograballtheimagesandsavethersultsin$aPicsreg_match_all($szSearchPattern,$szPostContent,$aPics);//检查是否至少有1张图片$iNumberOfPics=count($a);if($iNumberOfPics>0){//Nowhereyouwoulddowhateveryouneedtodowiththeimages//Forthisexampletheimagesarejustdisplayedfor($i=0;$i<$iNumberOfPics;$i++){echo$aPics[0][$i];};};endwhile;endif;>自动生成笑脸WordPress使用的另一种方法,此代码允许您使用笑脸符号自动替换图像$texte='Atextwithasmiley';echostr_replace(':-)','',$texte);去掉图片的链接jobbole其他角色sohu<ahref="http://www.sohu.com/">
';//echoreg_replace("/()()(<\/a>)/",'$2',$str);echoreg_replace("/()()(<\/a>)/",'\2',$str);>以上就是15个超级实用的php正则表达式。学习有帮助