澳门新浦京电子游戏15个超实用的php正则表达式,15php正则表达式

对于开垦职员来讲,正则表达式是一个丰富实用的意义,它提供了
查找,相配,替换
句子,单词,恐怕别的格式的字符串。那篇随笔首要介绍了拾伍个超实用的php正则表明式,要求的敌人能够参见下。在此篇随笔里,笔者早已编写制定了十五个超有用的正则表达式,WEB开荒职员都应有将它收藏到协和的工具包。

十二个超实用的php正则表明式,15php正则表达式

在这里篇小说里,小编生机勃勃度编写制定了拾多少个超有用的正则表明式,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 "Your url is ok."; 
} else { 
  echo "Wrong url."; 
} 

从三个字符串中 卓绝有些单词 那是叁个相当管用的在多个字符串中相配出有些单词
何况卓绝它,特别低价的找寻结果

$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 

regexp, with plural forms regexes, regexps, or regexen) are written in a formal language that can be interpreted by a regular expression processor"; 
$text = preg_replace("/b(regex)b/i", '1', $text); 
echo $text; 

崛起查询结果在你的 WordPress
博客里就如刚刚本人说的,上边的那段代码能够很方便的寻找出结果,而这里是一个更加好的秘诀去实践寻找在某些WordPress的博客上开拓你的文件
search.php ,然后找到 方法 the_title(State of Qatar 然后用上边代码替换掉它

echo $title; 

Now, just before the modified line, add this code: 

<?php 
  $title   = get_the_title(); 
  $keys= explode(" ",$s); 
  $title   = preg_replace('/('.implode('|', $keys) .')/iu', 
    '<strong></strong>', 
    $title); 
?> 

Save the search.php file and open style.css. Append the following line to it: 

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($data as $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的变量,再重申下,那些真的很有力

function get_tag( $tag, $xml ) { 
 $tag = preg_quote($tag); 
 preg_match_all('{<'.$tag.'[^>]*>(.*?)</'.$tag.'>.'}', 
          $xml, 
          $matches, 
          PREG_PATTERN_ORDER); 

 return $matches[1]; 
} 

格外具有属性值的XML只怕HTML标签 以此效果和方面包车型大巴分外相似,然而它同意你合作的价签内部有属性值,举个例子你可以轻便匹配<div id=”header”>

function get_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.")[^>]*$attrs*=s*". 
        "(['"])$value\2[^>]*>(.*?)</\1>/" 

 preg_match_all($tag_regex, 
         $xml, 
         $matches, 
         PREG_PATTERN_ORDER); 

 return $matches[3]; 
} 

相称十七进制颜色值 web开垦者的另两个有趣的工具,它同意你合作和注明十五进制颜色值.

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

搜求页面 title
这段代码方便搜索和打字与印刷 网页 <title> 和</title> 之间的剧情

$fp = fopen("http://www.catswhocode.com/blog","r"); 
while (!feof($fp) ){ 
  $page .= fgets($fp, 4096); 
} 

$titre = eregi("<title>(.*)</title>",$page,$regs); 
echo $regs[1]; 
fclose($fp); 

解释 Apache 日志
大部网址使用的都以资深的Apache服务器,假如您的网址也是,那么使用PHP正则表达式剖析apache 服务器日志 怎样?

//Logs: Apache web server 
//Successful hits to HTML files only. Useful for counting the number of page views. 
'^((?#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)[^"]*)"$' 

//Logs: Apache web server 
//404 errors only 
'^((?#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)[^"]*)"$' 

动用智能引号代替双引号 借使你是多个印制爱好者,你将赏识那个允许用智能引号取代双引号的正则表明式,那几个正则被WOEvoqueDPRESS在其内容上选用

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: 使用正则拿到 帖子上的图形
本人理解许几人是WO奇骏DPRESS的使用者,你也许会赏识何况愿意利用
那多少个从帖子的剧情寻觅下来的图像代码。使用那么些代码在您的BLOG只要求复制上面代码到你的有些文件里

<?php if (have_posts()) : ?> 
<?php while (have_posts()) : the_post(); ?> 

<?php 
$szPostContent = $post->post_content; 
$szSearchPattern = '~<img [^>]* />~'; 

// Run preg_match_all to grab all the images and save the results in $aPics 
preg_match_all( $szSearchPattern, $szPostContent, $aPics ); 

// Check to see if we have at least 1 image 
$iNumberOfPics = count($aPics[0]); 

if ( $iNumberOfPics > 0 ) { 
   // Now here you would do whatever you need to do with the images 
   // For this example the images are just displayed 
   for ( $i=0; $i < $iNumberOfPics ; $i++ ) { 
     echo $aPics[0][$i]; 
   }; 
}; 

endwhile; 
endif; 
?> 

自动生成笑貌图案
被WordPress使用的另三个方法, 这段代码可让你把图像自动调换贰个笑容符号

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

移除图片的链接

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<?php 
  $str = ' 
    <a href="http://www.5idev.com/">5idev</a>其他字符 
    <a href="http://www.sohu.com/">sohu</a> 
    <a href="http://www.sohu.com/"><img src="http://www.fashion-press.net/img/news/3176/mot_06.jpg" /></a> 
    <br>'; 


  //echo preg_replace("/(<a.*?>)(<img.*?>)(</a>)/", '$2', $str);  
  echo preg_replace("/(<a.*?>)(<img.*?>)(</a>)/", '2', $str);  
?> 

以上正是十六个超实用的php正则表达式,希望对我们的就学抱有利于。

在此篇随笔里,作者早就编写制定了14个超有用的正则表明式,WEB开垦职员都应当将它收藏到温馨的工…

澳门新浦京电子游戏 1

验证域名检查叁个字符串是或不是是个有效域名

$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 "Your url is ok."; 
} else { 
  echo "Wrong url."; 
}

从多个字符串中 杰出有个别单词

那是多少个不胜管用的在三个字符串中相配出有个别单词
并且杰出它,相当平价的搜寻结果

$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 

regexp, with plural forms regexes, regexps, or regexen) are written in a formal language that can be interpreted by a regular expression processor"; 
$text = preg_replace("/b(regex)b/i", '1', $text); 
echo $text;

崛起查询结果在您的 WordPress
博客里好似刚刚自个儿说的,上边的这段代码能够很有益的探寻出结果,而这边是贰个更加好的艺术去施行寻找在有个别WordPress的博客上开发你的公文
search.php ,然后找到 方法 the_title(State of Qatar 然后用上边代码替换掉它

echo $title; 

Now, just before the modified line, add this code: 

<?php 
  $title   = get_the_title(); 
  $keys= explode(" ",$s); 
  $title   = preg_replace('/('.implode('|', $keys) .')/iu', 
    '<strong></strong>', 
    $title); 
?> 

Save the search.php file and open style.css. Append the following line to it: 

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($data as $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的变量,再重申下,这一个实在很刚劲

function get_tag( $tag, $xml ) { 
 $tag = preg_quote($tag); 
 preg_match_all('{<'.$tag.'[^>]*>(.*?)</'.$tag.'>.'}', 
          $xml, 
          $matches, 
          PREG_PATTERN_ORDER); 

 return $matches[1]; 
}

相称具备属性值的XML或然HTML标签

本条效果和地点的可怜相通,可是它同意你合作的标签内部有属性值,比如你能够轻易匹配<div id=”header”>

function get_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.")[^>]*$attrs*=s*". 
        "(['"])$value\2[^>]*>(.*?)</\1>/" 

 preg_match_all($tag_regex, 
         $xml, 
         $matches, 
         PREG_PATTERN_ORDER); 

 return $matches[3]; 
}

合作十一进制颜色值

web开辟者的另二个有趣的工具,它同意你合作和验证十二进制颜色值.

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

追寻页面 title

这段代码方便搜索和打字与印刷 网页 <title> 和</title> 之间的原委

$fp = fopen("http://www.catswhocode.com/blog","r"); 
while (!feof($fp) ){ 
  $page .= fgets($fp, 4096); 
} 

$titre = eregi("<title>(.*)</title>",$page,$regs); 
echo $regs[1]; 
fclose($fp);

解释 Apache 日志

绝大许多网址选拔的都是资深的Apache服务器,借让你的网站也是,那么使用PHP正则表明式深入分析apache 服务器日志 怎么着?

//Logs: Apache web server 
//Successful hits to HTML files only. Useful for counting the number of page views. 
'^((?#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)[^"]*)"$' 

//Logs: Apache web server 
//404 errors only 
'^((?#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)[^"]*)"$'

接受智能引号代替双引号

假诺您是多个印制爱好者,你将赏识这些允许用智能引号代替双引号的正则表明式,那个正则被WOMuranoDPRESS在其情节上采纳

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: 使用正则获得帖子上的图片

自个儿精晓许四个人是WO帕杰罗DPRESS的使用者,你只怕会赏识並且愿意利用
那叁个从帖子的源委寻找下来的图像代码。使用那些代码在您的BLOG只供给复制上边代码到你的某部文件里

<?php if (have_posts()) : ?> 
<?php while (have_posts()) : the_post(); ?> 

<?php 
$szPostContent = $post->post_content; 
$szSearchPattern = '~<img [^>]* />~'; 

// Run preg_match_all to grab all the images and save the results in $aPics 
preg_match_all( $szSearchPattern, $szPostContent, $aPics ); 

// Check to see if we have at least 1 image 
$iNumberOfPics = count($aPics[0]); 

if ( $iNumberOfPics > 0 ) { 
   // Now here you would do whatever you need to do with the images 
   // For this example the images are just displayed 
   for ( $i=0; $i < $iNumberOfPics ; $i++ ) { 
     echo $aPics[0][$i]; 
   }; 
}; 

endwhile; 
endif; 
?>

自动生成笑颜图案

被WordPress使用的另八个方式, 这段代码可让你把图像自动转变叁个笑容符号

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

移除图片的链接

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<?php 
  $str = ' 
    <a href="http://www.jobbole.com/">jobbole</a>其他字符 
    <a href="http://www.sohu.com/">sohu</a> 
    <a href="http://www.sohu.com/"><img src="http://www.fashion-press.net/img/news/3176/mot_06.jpg" /></a> 
    <br>'; 

  //echo preg_replace("/(<a.*?>)(<img.*?>)(</a>)/", '$2', $str);  
  echo preg_replace("/(<a.*?>)(<img.*?>)(</a>)/", '2', $str);  
?>

上述正是17个超实用的php正则表明式,希望对大家的就学抱有助于。

发表评论

电子邮件地址不会被公开。 必填项已用*标注