我正在尝试 preg_replace 来检测字符串中的链接。下面的例子
$descriptionlink = "This is a test www.google.com";
$descriptionlink = preg_replace('/.*?\b((?:(?:https?|ftp|file):\/\/|www\.|ftp\.)?[-A-Z0-9+&@#\/%=~_|$?!:,.]*[A-Z0-9+&@#\/%=~_|$]\.[-A-Z0-9+&@#\/%=~_|$?!:,.]*[A-Z0-9+&@#\/%=~_|$]).*?/i', '$1', $descriptionlink);
如果字符串中有一个链接并且只像我想要的那样回显链接,它会很好用。现在,如果字符串只是文本,它将回显文本。如果它没有链接,我不想看到字符串中的文本。
我想要的输出示例
input - This is a test www.google.com
output - www.google.com
上面的效果很好,但如果没有链接,它会这样做并回显下面的文本
input - This is a test
output - This is a test
如果只是文本,我希望输出为空白。
谢谢