有時候,當我們需要用戶輸入網址的時候,一般我們會讓用戶省略掉"http://",當提交完成後用代碼自動再加上http://,若有需要,我們還可將網址轉換成鏈接的形式,類似於眾多網頁編輯器裡的功能,以下代碼將實現這類功能。先來看自動添加"http://"頭的代碼:
自動添加"http://"頭的PHP函數代碼:
1<?php
2if (!preg_match("/^(http|ftp):/", $_POST['url'])){
3 $_POST['url'] = 'http://'.$_POST['url'];
4}
5?>
PHP將網址字符串轉換成超級鏈接,可將URL和E-mail 地址字符串轉換為可點擊的超級鏈接:
01<?php
02function makeClickableLinks($text) {
03 $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)',
04 '1', $text);
05 $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)',
06 '12', $text);
07 $text = eregi_replace('([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})',
08 '1', $text);
09return $text;
10}
11?>
將這兩段代碼結合起來,可形成以下用法:
view sourceprint?1
2$_POST['url']="www.codefans.net";
3if (!preg_match("/^(http|ftp):/", $_POST['url'])) {
4 $url = 'http://'.$_POST['url'];
5}
6echo makeClickableLinks($url);
7?>
最終效果是把www.codefans.net加上了http://,並實現鏈接的形式。