LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1247|回复: 13

检测用户提交表单中的http连接,并让它自动变成可点的超级链接

[复制链接]
发表于 2005-5-4 11:53:38 | 显示全部楼层 |阅读模式
比如:用户提交一个表单,里面有http链接 http://china.youreal.com

希望提交经服务器处理后是可点的,就像上面一样


用PHP该怎么做呢?
发表于 2005-5-4 16:42:53 | 显示全部楼层
用正则表达式处理,发现像链接的就把它转化为链接
回复 支持 反对

使用道具 举报

发表于 2005-5-4 18:31:02 | 显示全部楼层
...........
因为很复杂,说了怕你不懂,不敢说了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-5-4 20:33:36 | 显示全部楼层
楼上的,麻烦你说一下呀,也让我长长见识
回复 支持 反对

使用道具 举报

发表于 2005-5-5 15:47:54 | 显示全部楼层
这个。。。很复杂吗?
回复 支持 反对

使用道具 举报

发表于 2005-5-6 23:13:45 | 显示全部楼层
$search = "/(https?|ftp|gopher|news|telnet|mms|rtsp)([^\[]*)/is";
$replace = "<a href='\\1\\2' target=_blank>\\1\\2</a>";
$message = preg_replace($search,$replace,$message);
回复 支持 反对

使用道具 举报

发表于 2005-5-7 17:50:02 | 显示全部楼层
NBX说复杂肯定复杂,除非用户输入时用定界符如xxxxx将联接定界符界定,否则很难找到尾部,比如用户如果输入XXhttp://www.sohu.comsdjkkj$sdhkj很难将后面字符串与前面的联接地址分开,因为很难判断http://www.linuxsir.cn/bbs/showt ... 接的一部分;
回复 支持 反对

使用道具 举报

发表于 2005-5-7 21:57:09 | 显示全部楼层
Post by cg111
NBX说复杂肯定复杂,除非用户输入时用定界符如xxxxx将联接定界符界定,否则很难找到尾部,比如用户如果输入XXhttp://www.sohu.comsdjkkj$sdhkj很难将后面字符串与前面的联接地址分开,因为很难判断http://www.linuxsir.cn/bbs/showt ... 联接的一部分

你认为有人会写成 XXhttp://www.sohu.comsdjkkj$sdhkj 这个样子吗?
这样写连人都分不清,别说是程序了
至少以我目前的水平我还不知道怎样把 xxhttp://www.example.php?q=query_stringfrom_here_is_not_query_string 里面的链接给分离出来
回复 支持 反对

使用道具 举报

发表于 2005-5-8 03:07:52 | 显示全部楼层
只能模糊识别,不能保证绝对正确
回复 支持 反对

使用道具 举报

发表于 2005-5-8 15:50:54 | 显示全部楼层
不能保证绝对正确就不能使用,程序开发出来是给人用的,如果存在不确定性,客户如何使用。至于8楼所说的“你认为有人会写成 XXhttp://www.sohu.comsdjkkj$sdhkj 这个样子吗?”我虽然不是学电脑的,但我是作销售工作的,销售工作的一个格言是:“客户是永远正确的!”你能保证你的客户都是电脑高手,不会错误输入?我认为,任何程序的设计,防错是最基本的要求
6楼的语句还差一句:[php]<? echo $message;?>[/php]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表