我有一个自定义编辑用户界面,允许用户输入他们自己的 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);