我正在使用这个preg_replace来查找推文文本中的链接,它尽职地返回一个HTML链接,但我想知道是否有可能在同一行中丢失链接文本中的http://。例如:
$output .= preg_replace('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a target="blank" rel="nofollow" href="$1" target="_blank">$1</a>', $status->text);
可能会返回:
<a target="blank" rel="nofollow" href="https://kanyewest.com/">https://kanyewest.com</a>
但我真的很想回来:
<a target="blank" rel="nofollow" href="https://kanyewest.com/">kanyewest.com</a>