程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 幾個實用的 PHP 正則表達式

幾個實用的 PHP 正則表達式

編輯:PHP綜合

對於開發人員來說,正則表達式是一個非常有用的功能,它提供了 查找,匹配,替換 句子,單詞,或者其他格式的字符串。這篇文章主要介紹了15個超實用的php正則表達式,需要的朋友可以參考下。

1. 驗證域名檢驗一個字符串是否是個有效域名

<?php 
$url = "http://hovertree.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. 從一個字符串中 突出某個單詞

這是一個非常有用的在一個字符串中匹配出某個單詞 並且突出它,非常有效的搜索結果

<?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 >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文檔中獲得全部圖片

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

<?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. 匹配一個XML或者HTML標簽

這個簡單的函數有兩個參數:第一個是你要匹配的標簽,第二個是包含XML或HTML的變量,再強調下,這個真的很強大

<?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"
}
*/
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved