對於開發人員來說,正則表達式是一個非常有用的功能,它提供了 查找,匹配,替換 句子,單詞,或者其他格式的字符串。這篇文章主要介紹了15個超實用的php正則表達式,需要的朋友可以參考下。
<?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."; }
這是一個非常有用的在一個字符串中匹配出某個單詞 並且突出它,非常有效的搜索結果
<?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;
如果你曾經希望去獲得某個網頁上的全部圖片,這段代碼就是你需要的,你可以輕松的建立一個圖片下載機器人
<?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);
這個簡單的函數有兩個參數:第一個是你要匹配的標簽,第二個是包含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" } */