【发布时间】:2012-10-24 10:26:37
【问题描述】:
我有一个自定义编辑用户界面,允许用户输入他们自己的 URL,到目前为止,我有正则表达式来查找 URL 并将它们全部转换为可点击的 html 链接。但我也想给用户输入他们自己的链接标题的选项,类似于 StackOverflow 上的格式:
[链接名称](http://www.yourlink.com/)
我将如何更改下面的代码以从括号中提取标题、从括号中提取 URL,并将常规 URL 转换为可点击链接(即使他们只是输入 http://www.yourlink.com/ 而没有标题)?
$text = preg_replace('/(((f|ht){1}tp:\/\/)[-a-zA-Z0-9@:%_\+.~#?&\/\/=]+)/i',
'<a href="\\1" target="_blank">\\1</a>', $text);
$text = preg_replace('/([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&\/\/=]+)/i',
'\\1<a href="http://\\2" target="_blank">\\2</a>', $text);
$text = preg_replace('/([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})/i',
'<a href="mailto:\\1">\\1</a>', $text);
【问题讨论】: