php 獲取字符串中的url,php使用正則表達式獲取字符串中的URL

今天寫一個問答系統上線之后發現有很多人發鏈接了,由于業務部門要我們過濾掉網站地址了,下面我給大家分享一個提取字符串url地址函數,代碼如下:$str ='本文實例講述了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);

運行結果為:(

[0] => Array

(

[0] => http://www.manongjc.com

)

)

這里主要使用到preg_match_all函數,該函數具體使用方法如下:

preg_match_all — 進行全局正則表達式匹配

語法:int preg_match_all ( string pattern, string subject, array matches [, int flags] )

在 subject 中搜索所有與 pattern 給出的正則表達式匹配的內容并將結果以 flags 指定的順序放到 matches 中。

搜索到第一個匹配項之后,接下來的搜索從上一個匹配項末尾開始。

特別注意PREG_PATTERN_ORDER 和PREG_SET_ORDER

flags 可以是下列標記的組合(注意把 PREG_PATTERN_ORDER 和 PREG_SET_ORDER 合起來用沒有意義):

如果使用PREG_PATTERN_ORDER

對結果排序使 $matches[0] 為全部模式匹配的數組,$matches[1] 為第一個括號中的子模式所匹配的字符串組成的數組,以此類推。(即$matches[0] [0]為全部模式匹配中的每一項,$matches[0] [1]為全部模式匹配中的第二項,$matches[1] [0]為匹配每一個括號中的第一項,$matches[1] [0]為匹配每一個括號中的第二項)<?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";

?>

輸出結果:example: ,

this is a test

example: , this is a test

更多php使用正則表達式獲取字符串中的URL相關文章請關注PHP中文網!

本文原創發布php中文網,轉載請注明出處,感謝您的尊重!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454785.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454785.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454785.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何提高安卓代碼的質量和語法

本文講的是如何提高安卓代碼的質量和語法&#xff0c;在這篇文章中&#xff0c;我會介紹幾種不同的方式&#xff0c;讓你通過自動化工具提高你的Android代碼質量&#xff0c;包括 Checkstyle&#xff0c; Findbugs&#xff0c;PMD&#xff0c; 當然&#xff0c;還有我們最熟悉的…

洛谷 U3357 C2-走樓梯

https://www.luogu.org/problem/show?pidU3357 題目背景 在你成功地解決了上一個問題之后&#xff0c;方方方不禁有些氣惱&#xff0c;于是他在樓梯上跳來跳去&#xff0c;想要你求出他跳的方案數。.. 題目描述 方方方站在一個n階樓梯下面&#xff0c;他每次可以往上跳一步或兩…

Liunx 系統調優

Sysctl命令用來配置與顯示在/proc/sys目錄中的內核參數&#xff0e;如果想使參數長期保存&#xff0c;可以通過編輯/etc/sysctl.conf文件來實現。 命令格式&#xff1a;sysctl [-n] [-e]-w # 臨時改變某個指定參數的值&#xff0c;如sysctl -w net.ipv4.ip_forward1-a # 顯示…

php多文件上傳存儲到表,PHP 實現一種多文件上傳的方法

搜索熱詞之前在實現表單中file類型input選擇多圖片的時候找到一種方式 也許不是最好的但親測可行且支持ie7以上以及chrome瀏覽器在表單中使用正常多文件選擇multiple屬性PHP;">然后使用AjaxFileUpload或其他方式提交將對應命名的file文件 $file[‘image] 轉化為 json打…

CentOS7設置自定義開機啟動,添加自定義系統服務

Centos 系統服務腳本目錄&#xff1a; /usr/lib/systemd/ 有系統&#xff08;system&#xff09;和用戶&#xff08;user&#xff09;之分&#xff0c;如需要開機沒有登陸情況下就能運行的程序&#xff0c;存在系統服務&#xff08;system&#xff09;里&#xff0c;即&#xf…

成功應聘Intel的真實經歷

編者按&#xff1a;INTEL&#xff08;英特爾&#xff09;公司創建于1968年&#xff0c;是全球最大的芯片制造商&#xff0c;Intel研究中心更是匯聚了全球無數的精英&#xff0c;一批年輕人抱著夢想走入了這里&#xff0c;過去我們談到了太多關于Intel技術與市場方面&#xff0c…

Kotlin學習記錄1

參考我的博客&#xff1a;http://www.isedwardtang.com/2017/09/02/kotlin-primer-1/轉載于:https://www.cnblogs.com/EdwardTang/p/7476787.html

Keepalived配置文件詳解

keepalivedkeepalived是集群管理中保證集群高可用的一個服務軟件&#xff0c;其功能類似于heartbeat&#xff0c;用來防止單點故障。keepalived工作原理keepalived是以VRRP&#xff08;Virtual Router Redundancy Protocol&#xff0c;即虛擬路由冗余協議&#xff09;協議為實現…

php高等數學,中國大學《高等數學(四)》期末答案高校邦《PHP語言程序設計》見面課答案...

參考答案如下Conversation 2Pretco-A12.9-10.mp3:9、中國 A) Some shoes are missing. B) Itsdelivery is delayed.C) The order is cancelled. D) Some packages are damaged.10、中國 A) Giving an additional discount. B) Renewing the contract.C) Sending the goods by a…

深入剖析ThreadLocal實現原理以及內存泄漏問題

關于ThreadLocalMap<ThreadLocal, Object>弱引用問題&#xff1a; 當線程沒有結束&#xff0c;但是ThreadLocal已經被回收&#xff0c;則可能導致線程中存在ThreadLocalMap<null, Object>的鍵值對&#xff0c;造成內存泄露。&#xff08;ThreadLocal被回收&#xf…

解讀《普通大學應屆畢業生如何成功應聘微軟》

《普通大學應屆畢業生如何成功應聘微軟》這篇文章很有實踐性&#xff0c;我所要提的&#xff0c;是最后一道面試&#xff0c;也就是唐駿本人對作者的面試&#xff0c;這一輪看似平常的面試大有門道。仔細想想&#xff0c;為什么這些問題由唐駿本人來問&#xff0c;他為什么要這…

grep 命令的 12 個實例

2019獨角獸企業重金招聘Python工程師標準>>> 你是否遇到過需要在文件中查找一個特定的字符串或者樣式&#xff0c;但是不知道從哪兒開始&#xff1f;那么,就請grep來幫你吧。 grep是每個Linux發行版都預裝的一個強有力的文件模式搜索工具。無論何種原因&#xff0c;…

php 怎么從memcache緩存數據中統計某一字段總數,php和memcache統計在線人數的方法...

$mc new Memcache ();// 連接memcache$mc->connect("127.0.0.1", 11211);// 獲取 在線用戶 IP 和 在線時間數據$online_members $mc->get(online_members);// 如果為空&#xff0c;初始化數據if (!$online_members) {$online_members array();}// 獲取用戶i…

ubuntu之ufw防火墻

UFW是Ubuntu下的一個主機端的iptables類防火墻配置工具(底層調用iptables來處理)。這個工具的目的是提供給用戶一個可以輕松駕馭的界面&#xff0c;就像包集成和動態檢測開放的端口一樣。雖然功能較簡單&#xff0c;但對桌面型應用來說比較實用&#xff0c;基本常用功能都有&am…

background-size在IE8不兼容問題

background-size在IE8及以下瀏覽器不兼容&#xff1b;要解決的話要用濾鏡&#xff1a; filter: progid: DXImageTransform.Microsoft.AlphaImageLoader( src, sizingMethodscale); 注意&#xff1a;此處src的路徑必須是絕對路徑&#xff0c;相對路徑不可以&#xff01; 當寫完…

程序員 大牛 面試

水 滴 石 穿 -- 找工作記 -- yurking&#xff08;yurkinggmail.com&#xff09; 一日一錢&#xff0c;千日千錢&#xff0c;繩鋸木斷&#xff0c;水滴石穿! 這個東西寫出來有一段時間了&#xff0c;但是一直沒發&#xff0c;想著等有時間了再好好的看一看&#xff0c;改一…

Linux : shell基礎(慕課網Linux達人養成計劃課程筆記)

Shell概述 shell是Linux中的命令行解釋器&#xff0c;為用戶提供了一個向Linux內核發送請求一邊運行程序的界面系統級程序&#xff0c;用戶可以用shell來啟動、掛起、停止甚至編寫一些程序。shell還是一個功能相當強大的編程語言&#xff0c;易編寫&#xff0c;易調試&#xff…

基于matlab的大米,大米顆數計算MATLAB軟件

應用背景大米是人類的主食之一&#xff0c;是稻谷經清理、礱谷、碾米、成品整理等工序后制成的成品。人們購買米大多采用直接稱量的方法&#xff0c;市面上也有許多儀器采用光電傳感器等方式用于生產加工時米粒的計數。然而這樣的方法都比較依賴于設備&#xff0c;不方便人們日…

ubuntu17.04之apt-get源

不要問我這么簡單的也要寫&#xff0c;我只想說在網上百度了一堆源&#xff0c;在筆者這里只有一個能用&#xff0c;悲傷的表情&#xff0c;還是記錄一下吧 這個是清華的apt-get源&#xff0c;適用于ubuntu17.04apt-get源文件目錄 /etc/apt/sources.list &#xff0c;記得先備份…

HttpClient通過Post方式發送Json數據

服務器用的是Springmvc&#xff0c;接口內容&#xff1a; [java] view plaincopy print?ResponseBody RequestMapping(value"/order",methodRequestMethod.POST) public boolean order(HttpServletRequest request,RequestBody List<Order> orders) throws …