欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP經(jīng)典實(shí)用正則表達(dá)式小結(jié)

 更新時(shí)間:2017年05月04日 10:06:53   作者:yhdsir  
這篇文章主要介紹了PHP經(jīng)典實(shí)用正則表達(dá)式,結(jié)合具體實(shí)例總結(jié)分析了php基于正則實(shí)現(xiàn)驗(yàn)證、查找、匹配等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP經(jīng)典實(shí)用正則表達(dá)式。分享給大家供大家參考,具體如下:

對(duì)于開發(fā)人員來說,正則表達(dá)式是一個(gè)非常有用的功能,它提供了 查找,匹配,替換 句子,單詞,或者其他格式的字符串。這里介紹了幾個(gè)超實(shí)用的php正則表達(dá)式,需要的朋友可以參考下。

1. 驗(yàn)證域名檢驗(yàn)一個(gè)字符串是否是個(gè)有效域名

<?php
$url = "https://www.baidu.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.";
}

2. 從一個(gè)字符串中 突出某個(gè)單詞

這是一個(gè)非常有用的在一個(gè)字符串中匹配出某個(gè)單詞 并且突出它,非常有效的搜索結(jié)果

<?php
$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("/(regex)/i", '<span style="background:#5fc9f6">1</span>', $text);
echo $text;

function get_the_title(){
  return 'Save the search.php file and open style.css. Append the following line to it: ';
}
$s = 'and php';
$title  = get_the_title();
$keys= explode(" ",$s);
$title  = preg_replace('/('.implode('|', $keys) .')/iu',
'<strong>\0</strong>',
$title);
echo $title;

3. 從HTML文檔中獲得全部圖片

如果你曾經(jīng)希望去獲得某個(gè)網(wǎng)頁上的全部圖片,這段代碼就是你需要的,你可以輕松的建立一個(gè)圖片下載機(jī)器人

<?php
$images = array();
$data = file_get_contents('https://www.baidu.com');
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);
 }
}
var_dump($images);

4. 匹配一個(gè)XML或者HTML標(biāo)簽

這個(gè)簡單的函數(shù)有兩個(gè)參數(shù):第一個(gè)是你要匹配的標(biāo)簽,第二個(gè)是包含XML或HTML的變量,再強(qiáng)調(diào)下,這個(gè)真的很強(qiáng)大

<?php
function get_tag( $tag, $xml ) {
  $tag = preg_quote($tag);
  output($tag);
  preg_match_all('/<'.$tag.'[^>]*>(.*?)<\/'.$tag.'>./',
    $xml,
    $matches,
    PREG_PATTERN_ORDER
  );
  return $matches[1];
}
$xml = '<span>bb<a>bbb</a><a>ccc</a></span><span>bb<a>aa</a><p><a>ddd</a></p></span>';
$tag = 'a';
$return = get_tag($tag, $xml);
var_dump($return);
/*
array(2) {
 [0]=>
 array(3) {
  [0]=>
  string(11) "bbb<"
  [1]=>
  string(10) "aa<"
  [2]=>
  string(11) "ddd<"
 }
 [1]=>
 array(3) {
  [0]=>
  string(3) "bbb"
  [1]=>
  string(2) "aa"
  [2]=>
  string(3) "ddd"
 }
}
array(3) {
 [0]=>
 string(3) "bbb"
 [1]=>
 string(2) "aa"
 [2]=>
 string(3) "ddd"
}
*/

PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:

JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論