1. 程式人生 > >自動識別內容中的Url並新增超連結

自動識別內容中的Url並新增超連結

<?php

$str ='<p>m.ipal.com. m.ipal.com,m.ipal.com;m.ipal.com/?task=u&amp;se;test auto link www.baidu.com staff.maosong.com m.ipal  xiaonei.com m.ipal.com www.ipal.com/?_task=mail#a http://www.ipal.com http://www.policecard.com/?_task=mail http://www.ipal.com/?_task=index#bb</p>';

echo autolink($str);


function autolink($str){
                $body = preg_replace(array("/(?<=[^a-z0-9\"'=\/\-_\.~\?]|^)((https?|ftp|gopher|news|telnet|mms){1}:\/\/)?(([a-z]([a-z0-9\-])*(\.[a-z]([a-z0-9\-])*)+(?=\.(\s|$)))|((([a-z]([a-z0-9\-])*\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?(&amp;|[a-z0-9+_\-\.%=&])*)?)?(#[a-z][a-z0-9_]*)?((?=$|[,\s<]|\.\s)|(?!p)(?=;))))/ies"
                                            ),
                                array("urlcut('\$1\$3', '\$2')"
                                ),
                                $str);    
                                return $body;
}

function urlcut($url, $prefix)
{
    $urllink = "<a href=\"" . (empty($prefix) ? "http://$url" : $url) . "\" target=\"_blank\">";
    $urllink .= "$url</a>";
    return $urllink;
}

?>

相關推薦

自動識別內容Url新增連結

<?php $str ='<p>m.ipal.com. m.ipal.com,m.ipal.com;m.ipal.com/?task=u&amp;se;test auto link www.baidu.com staff.maosong.com m.ipal  xiaonei.com

對現有docx/pdf檔案轉pdf,新增連結

需求:上傳一個檔案(可能關聯絡統中已有的公文),要求能自動識別並替換為超連結,顯示在網頁中。目標:以PDF的形式進行展示,儘可能支援更多的檔案種類。定義:以[公文名]的形式定義替換實現:暫支援docx,對pdf支援不太友好,doc就涼涼首先,我們先獲取我們需要處理的物件(檔案

讀取文字檔案Student.txt內容(編號,姓名,成績)存放到學生物件新增到集合物件,然後將分數低於等於80分的學生輸出到另外一個檔案

讀取文字檔案中Student.txt中內容(編號,姓名,成績)存放到學生物件中,並新增到集合,然後將分數低於等於80分的學生輸出到另外一個檔案中 大概說一下,這裡面加上main函式一共有addlist()、outgrade()、creatstu()4個方法。

新增連結的命令是什麼?在AutoCAD對影象怎麼新增連結

可能很多的小夥伴們還不知道,AutoCAD圖紙檔案並不只是一張圖紙檔案而已,他除了可以新增一些world文件還有Excel資料表之外,還能相應的進行插入連結,新增超連結需要用到的命令是HYPERLINK,或者在插入面板上點選超連結的符號,亦或用快捷鍵CTRL+K。 第一步:我們在電腦桌面上

如何在CAD新增連結

大家在日常的CAD繪圖的工作中,不知道有沒有遇到過這樣的問題,就是要給CAD圖紙中新增一個超連結,為了方便在檢視的過程中直接點選連結就可以直接跳轉到另外一個介面當中去,那如何在CAD中新增超連結呢?具體要怎麼來操作?今天小編就來和大家分享一下,希望你們能夠喜歡和幫助到你們。 第一步:首先, 在瀏覽器的搜尋框

在RichTextBox控制元件新增連結文字

實現效果:    知識運用:   RichTextBox控制元件的AppendText方法   public void AppendText{string textData}    //向控制元件中新增文字內容   和Process類的Start方法   public static Process

javascript 正則匹配url新增標籤

//寫的url正則匹配 var reg = /((http|ftp|https):\/\/)?[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?/g; //獲取需要

c#打包程式時 “下列檔案可能具有不能自動確定的依賴項” 新增資料庫

在打包#程式時,有時會有這樣的警告提示:“下列檔案可能具有不能自動確定的依賴項”。其解決方法是這樣的: 右擊“應用程式資料夾”->"新增"->"檔案",瀏覽到所提示缺失檔案的具體位置,然後新增。 如果想要包含資料庫,用同樣的方法,直接瀏覽檔案到資料庫存放位置,

WebView內使用post載入url新增header

最近專案內需求,使用WebView載入網頁,載入網頁的時候需要post引數去讓網頁生成資料,還要在頭部新增特殊標識 WebView原生的api裡邊有post引數的api//post是一個byte[] webview.postUrl(url,post) ;新增header的

帝國CMS 釋出資訊時自動內容的圖片alt和title屬性替換為資訊標題

1.把下面的程式碼放到/e/class/userfun.php   (放到最後?>的前面)function user_imgalt($mid,$f,$isadd,$isq,$value,$cs){ $title=$_POST['title']; $htmls=$valu

二維碼條形碼圖片自動識別內容重命名軟件使用教程

軟件使用 不能 原來 caption 內容 ado classes copy art ??? 使用步驟:導入文件夾或者文件,支持jpg,bmp和png三種格式點擊開始命名即可 使用註意:(1)如果發現文件裏面無二維碼或者條形碼則文件名不會命名 (2)如果勾選去除特殊字

POI操作Excel---給單元格新增連結(HSSF & XSSF & SXSSF)

1、xls格式---(HSSF) HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("新增超連結"); HSSFRow row = sheet.createRow(

給按鈕新增連結

在原視窗跳轉到新網址 <button onclick="window.location.href='http://www.baidu.com'">連結</button> 開啟新視窗跳轉到新網址 <button onclick="window.open('ht

jqgrid欄位列新增連結

第一種方式:(在表格載入完成之後,對指定列進行單獨獲取編輯操作) gridComplete: function () {             var graduateI

css字型單位與連結樣式

設定字型大小位畫素 可以完全定死 h1 {font-size:40px;} 用em來設定字型的大小 來代替畫素px 1em和當前字型大小相等,在瀏覽器中預設的文字大小是16px 1em = 16px  可以通過如下公式將畫素轉為em px / 16 = em

HTML的總結及展示(1)(錨點、a元素新增連結href、img元素、iframe元素、HTML5新增的拖放API)

之前接觸過一些前端內容,但是時間長了早就忘記了,最近開始系統的學習,做一下總結,方便日後使用。   我把總結內容展示在了自己的伺服器上,歡迎大家檢視網址http://39.106.170.146/html/summary/summary01.html,進入後·按下F12鍵或者右

前端基礎 基本元素 文字格式相關的元素 使用a標籤新增連結和錨點 列表相關元素 使用img元素新增圖片 表格相關元素 iframe元素 contentEditable hidden

1、基本元素 html:定義文件的根元素 head:定義文件的頁面頭部分 title:定義頁面標題 body:定義頁面的主體部分 h1-h6:定義標題一到六 p:定義段落插入 br:插入一個換行符 hr:定義水平線 div:定義文件中的節 span:跟div基本相似,區別是span只是表

asp.net hyperlink怎麼實現連結

開啟VS2005工具欄 ,選擇hyperlink控制元件拖到你要放置連結的地方,在web設計視覺化頁面不要切換到HTML程式碼頁面,選擇你剛才拖進去的那個hyperlink控制元件,點選滑鼠右鍵檢視屬性,找到導航這一欄裡面有個 NavigateUrl屬性,點選空白處就可以瀏

在微信,如何通過連結方式開啟系統預設瀏覽器?

今天從京東那裡看到一個實際的例子,很想知道原理是什麼,京東的例子是這樣的: 通過掃描京東的二維碼,然後微信就直接跳轉頁面,中途就直接跳出選擇其他瀏覽器開啟 這是怎麼做到的? 我在網上查過,很多從微信內直接跳轉事件,跳到其他瀏覽器視窗的事件都不行的,那以上的是怎麼做到的? 1、開啟麥粒

後臺動態新增連結實現點選檔案實現下載

protected void Page_Load(object sender, EventArgs e) { string path = "~/Document/Introduction/團隊管理制度