2
我正在通过一个奇怪的问题回车在Web表单中导致我的正则表达式语句混淆。我是新来的正则表达式,所以请原谅任何一个愚蠢的问题。正则表达式和回车返回
当我的形式从一个文本区域发送数据输入时,下列功能被用来将任何合格的字符串转换成一个超链接:
function make_links_clickable($message)
{
return preg_replace('!(((f|ht)tp(s)?://)[-a-zA-Zа-яА-Я()[email protected]:%_+.~#?&;//=]+)!i', '<a href="$1" target="_blank">$1</a>', $message);
}
function make_links_clickable2($message)
{
return preg_replace('!(www\.)?[a-z0-9\-]+\.([a-z]{2,3}(\.?[a-z]{2,3})?)!i', '<a href="http://$0" target="_blank">$0</a>', $message);
}
$message = make_links_clickable2($message);
这个问题似乎是在第二功能。当我使用这些功能,输出结果如下:
www.google.com
http://www.google.com
nwww.google.com
http://www.google.com
第三输出的开头有一个“N”(和它的超链接也被搞砸),这似乎是从回车。不知道这是如何发生的。
您正在使用的窗体是否有PUT或GET? – Leptonator
@Leptonator你是指PUT还是POST(有区别)?无论如何,你认为这可能很重要? – Christoph
是的 - 我不认为问题是如何回车 - 但如果按输入提交表格.. – Leptonator