我有一个用PHP处理的表单.用户有时会将他们的电子邮件地址放在表单或URL中.在剥离标签输入后,这些通常以文本形式出现.
最近,当我们的用户拉出显示其输入的页面(现在从数据库中提取)时,我的用户开始要求我使他们的URL和电子邮件可以点击.
有人可以建议一个共同的模式或方法来处理这个问题吗?基本上,如果有人在表单中输入网址,如何在查看时使网址可点击而不是文字?
谢谢,亚历克斯
您可以使用这样的基于正则表达式的函数
function autolink($message) {
//Convert all urls to links
$message = preg_replace('#([\s|^])(www)#i', '$1http://$2', $message);
$pattern = '#((http|https|ftp|telnet|news|gopher|file|wais):\/\/[^\s]+)#i';
$replacement = '<a href="$1" target="_blank">$1</a>';
$message = preg_replace($pattern, $replacement, $message);
/* Convert all E-mail matches to appropriate HTML links */
$pattern = '#([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.';
$pattern .= '[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)#i';
$replacement = '<a href="mailto:\\1">\\1</a>';
$message = preg_replace($pattern, $replacement, $message);
return $message;
Run Code Online (Sandbox Code Playgroud)