php 获取字符串中的url,php使用正则表达式获取字符串中的URL
今天寫(xiě)一個(gè)問(wèn)答系統(tǒng)上線之后發(fā)現(xiàn)有很多人發(fā)鏈接了,由于業(yè)務(wù)部門(mén)要我們過(guò)濾掉網(wǎng)站地址了,下面我給大家分享一個(gè)提取字符串url地址函數(shù),代碼如下:$str ='本文實(shí)例講述了php匹配字符串里所有URL地址的方法。http://www.manongjc.com 分享給大家供大家參考';
preg_match_all("/http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]*/",$str,$array2);
print_r($array2);
運(yùn)行結(jié)果為:(
[0] => Array
(
[0] => http://www.manongjc.com
)
)
這里主要使用到preg_match_all函數(shù),該函數(shù)具體使用方法如下:
preg_match_all — 進(jìn)行全局正則表達(dá)式匹配
語(yǔ)法:int preg_match_all ( string pattern, string subject, array matches [, int flags] )
在 subject 中搜索所有與 pattern 給出的正則表達(dá)式匹配的內(nèi)容并將結(jié)果以 flags 指定的順序放到 matches 中。
搜索到第一個(gè)匹配項(xiàng)之后,接下來(lái)的搜索從上一個(gè)匹配項(xiàng)末尾開(kāi)始。
特別注意PREG_PATTERN_ORDER 和PREG_SET_ORDER
flags 可以是下列標(biāo)記的組合(注意把 PREG_PATTERN_ORDER 和 PREG_SET_ORDER 合起來(lái)用沒(méi)有意義):
如果使用PREG_PATTERN_ORDER
對(duì)結(jié)果排序使 $matches[0] 為全部模式匹配的數(shù)組,$matches[1] 為第一個(gè)括號(hào)中的子模式所匹配的字符串組成的數(shù)組,以此類推。(即$matches[0] [0]為全部模式匹配中的每一項(xiàng),$matches[0] [1]為全部模式匹配中的第二項(xiàng),$matches[1] [0]為匹配每一個(gè)括號(hào)中的第一項(xiàng),$matches[1] [0]為匹配每一個(gè)括號(hào)中的第二項(xiàng))<?php
preg_match_all ("|]+>(.*)[^>]+>|U","example:
this is a test",$out, PREG_PATTERN_ORDER);/* http://www.manongjc.com/article/1591.html */
print $out[0][0].", ".$out[0][1]."\n";
print $out[1][0].", ".$out[1][1]."\n";
?>
輸出結(jié)果:example: ,
this is a testexample: , this is a test
更多php使用正則表達(dá)式獲取字符串中的URL相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請(qǐng)注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的php 获取字符串中的url,php使用正则表达式获取字符串中的URL的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: shell if多个条件判断_萌新关于E
- 下一篇: php 序列化方法,PHP序列化操作方法