我已经编写了15个超有用的正则表达式,这是一个非常有用的在一个字符串中匹配出某个单词

采取智能引号代替双引号

假设您是三个印刷爱好者,你将赏识那么些允许用智能引号取代双引号的正则表明式,这么些正则被WOENCOREDPRESS在其剧情上行使

preg_replace('B"b([^"x84x93x94rn]+)b"B', '?1?', $text);

十七个超实用的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(卡塔尔国 然后用上面代码替换掉它

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>\0</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.")[^>]*$attr\s*=\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)[^"]*)"$' 

动用智能引号代替双引号 如若您是三个印制爱好者,你将赏识那么些允许用智能引号替代双引号的正则表明式,那些正则被WOLANDDPRESS在其内容上利用

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: 使用正则获得 帖子上的图纸
自身领悟许几个人是WOGL450DPRESS的使用者,你恐怕会合意何况愿意利用
那四个从帖子的开始和结果找寻下来的图像代码。使用那一个代码在你的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);  
?> 

上述便是14个超实用的php正则表明式,希望对大家的学习抱有利于。

在这里篇随笔里,作者大器晚成度编写制定了拾多少个超有用的正则表明式,WEB开垦职员都应有将它收藏到协和的工…

查看密码的复杂度

那几个正则表明式将检查实验输入的内容是还是不是包括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'

相称具备属性值的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.")[^>]*$attr\s*=\s*". 
        "(['\"])$value\\2[^>]*>(.*?)<\/\\1>/" 

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

 return $matches[3]; 
}

WordPress: 使用正则获得帖子上的图样

自家明白多数个人是WOQashqaiDPRESS的使用者,你恐怕会合意而且愿意利用
那个从帖子的剧情寻觅下来的图像代码。使用那几个代码在你的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; 
?>

相配十二进制颜色值

web开拓者的另一个妙趣横生的工具,它同意你协作和注脚十九进制颜色值.

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

合营叁个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]; 
}

移除图片的链接

<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);  
?>

如上正是十七个超实用的php正则表达式,希望对我们的求学抱有助于。

自动生成笑貌图案

被WordPress使用的另叁个办法, 这段代码可让你把图像自动调换一个笑颜符号

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

解释 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)[^"]*)"$'

发表评论

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

相关文章