PHP自动添加http://头 转换网址为链接

有时候,当我们需要用户输入网址的时候,一般我们会让用户省略掉"http://",当提交完成后用代码自动再加上http://,若有需要,我们 还可将网址转换成链接的形式,类似于众多网页编辑器里的功能,以下代码将实现这类功能。先来看自动添加"http://"头的代码:

自动添加"http://"头的PHP函数代码:

<?php
if (!preg_match("/^(http|ftp):/", $_POST[‘url‘])){
   $_POST[‘url‘] = ‘http://‘.$_POST[‘url‘];
}
?>

PHP将网址字符串转换成超级链接,可将URL和E-mail 地址字符串转换为可点击的超级链接:

<?php
function makeClickableLinks($text) {
 $text = eregi_replace(‘(((f|ht){1}tp://)[[email protected]:%_+.~#?&//=]+)‘,
 ‘<a href="\1">\1</a>‘, $text);
 $text = eregi_replace(‘([[:space:]()[{}])(www.[[email protected]:%_+.~#?&//=]+)‘,
 ‘\1<a href="http://\2">\2</a>‘, $text);
 $text = eregi_replace(‘([_.0-9a-z-][email protected]([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})‘,
 ‘<a href="mailto:\1">\1</a>‘, $text);
return $text;
}
?>

将这两段代码结合起来,可形成以下用法:

<?php
$_POST[‘url‘]="www.codefans.net";
if (!preg_match("/^(http|ftp):/", $_POST[‘url‘])) {
   $url = ‘http://‘.$_POST[‘url‘];
}
echo makeClickableLinks($url);
?>

最终效果是把www.codefans.net加上了http://,并实现链接的形式。

时间: 2024-10-25 22:25:21

PHP自动添加http://头 转换网址为链接的相关文章

vim自动添加脚本头

当做运维的时候,难免会写一些脚本.有没有感到Vim编辑文件的时候,一定要写脚本头,很复杂很繁琐,每写一个脚本就要写一次. 太麻烦了.有木有!!(可能是我太懒了吧) 下面咱定义一下,当写脚本的时候,自动添加脚本头,咱直接去写脚本代码就好了. 编辑当前用户vim配置文件 #vim ~/.vimrc 或者定义全局也行 #vim /etc/vimrc 在最下方添加如下代码: function HappyPython() call setline(1, "#!/usr/bin/env python&quo

PHP 下载文件时自动添加bom头的方法

首先弄清楚,什么是bom头?在Windows下用记事本之类的程序将文本文件保存为UTF-8格式时,记事本会在文件头前面加上几个不可见的字符(EF BB BF),就是所谓的BOM(Byte order Mark).不仅限于 记事本保存的文件,只要在文件的开口包含了EF BB BF 几个不可见的字符(十六进制应该是是xEFxBBxBF,用二进制编辑文件可见).这像是一个约定俗成的东西,当系统看到这玩意的时候,就会觉得你这个文件是UTF-8编码的. 如果你的接口是UTF-8的,你需要强制下载一个文件,

如何为自己的博客文章自动添加移动版本(目前仅支持博客园)

前言 从2005年开始撰写第一篇技术博客,我也算是国内最早的一批技术博客作者之一了.其中中断过一段时间,但2008年重新启用之后,这个习惯一直保留到现在,目前已经累积的文章数量已经达到1226篇.这些文章绝大部分都是原创的,转载的有特别注明,文章内容大多是自己实际工作中遇到的问题和解决方案,或者我为企业做顾问服务.培训服务时解决的问题,我尤其喜欢在解决问题后做一点总结,并整理成一篇博客文章分享出来,一来是对思路的重新梳理,同时也希望也许日后能对其他人也有所帮助. 这些年随着移动互联网逐渐占据主流

ROS知识(16)----如何编译时自动链接同一个工作空间的其他包的头文件(包含message,srv,action自动生成的头文件)

catkin_make编译时,往往需要自动链接同一个工作空间的其他包的头文件.否则会出现类似如下的错误: /home/xx/xx_ws/srcA_package/src/db.hpp:13:26: fatal error: B_package/alax.h: No such file or directory #include <B_package/alax.h> ^ 这需要对包进行配置,假设包A_package需要引用B_package的头文件(例如由message,srv,action自动

Java 调用Web service 添加认证头(soapenv:Header)

前言 有时候调用web service 会出现 Message does not conform to configured policy [ AuthenticationTokenPolicy(S) ]:  No Security Header found 这样的错误. 以在 soapui 调用的结果来看, 会出现如下的返回 出现这种错误的原因 是webservice 的服务端需要提供 soap 认证的表头. 举例来说, 可能需要加上如下的认证头: <soapenv:Header> <

VS+VAssistX自动添加注释

在VC6.0里边,C++函数头注释是使用一个宏完成的,VS系列中C#在函数头输入三个反斜杠也会自动生成XML格式的函数头注释. 又懒得在VS2008中写类似于添加函数头的注释,只能依靠一些工具了,今天给大家介绍VAssistX. 大家可以下载VAssistX插件,安装的时候一定要把VS2008关掉.VAssistX在这就不多做介绍了,大家可以百度或者google之. 以下为大家介绍一下怎么添加函数头注释 随便打开一个C++的工程,找到一个方法,右击函数名,然后依次点击“Refacto”–>“Do

VS 自动添加注释

现在大多数公司都规定程序员在程序文件的头部加上版权信息,这样每个人写的文件都可以区分开来,如果某个文件出现问题就可以快速的找到文件的创建人,用最短的时间来解决问题,常常是以下格式: //======================================================================//        All rights reserved////        description :////        created by User //===

keepalived启动后iptables自动添加Drop规则

keepalived 在启动后如果参数配置不当,会在iptables中自动添加一条DROP VIP的规则.这里的一些参数可能会造成这个问题. 1.在配置中添加了strict 或 noaccept参数. 2.在全局配置下使用了vrrp_strict 参数.此参数为严格控制VRRP协议,不支持单播模式,注释掉此选项,将不会默认添加DROP规则.

四大百度知道推广转换网址方法

下面介绍这几种转换网址的思路: 利用百度自己家的产品转换 利用百度空间转换首先在在百度空间发表文章,文章中明显的位置加上你的跳转链接.最好不要内容太详细了,不过要能够引起进到你空间的人兴趣,让他们再去点击你的目标网站的链接. 比如通过最新电影<大笑江湖>来引流量,可以在百度空间发表一篇文章,写上电影<大笑江湖>的一些简答介绍,最好放上写图片.然后在文末用大号显眼的颜色的 然后自己或让 别人在百度知道提问"哪里有<大笑江湖>的高清下载或是在线观看的也行啊?&qu