php自动给网址加上链接的方法

前端技术 2023/09/07 PHP

本文实例讲述了php自动给网址加上链接的方法。分享给大家供大家参考。具体实现方法如下:

这里自动匹配页面里的网址,包含http,ftp等,自动给网址加上链接

function text2links($str=\'\') {
  if($str==\'\' or !preg_match(\'/(http|www\\.|@)/i\', $str)) { return $str; }
  $lines = explode(\"\\n\", $str); $new_text = \'\';
  while (list($k,$l) = each($lines)) {
    // replace links:
    $l = preg_replace(\"/([ \\t]|^)www\\./i\", \"\\\\1http://www.\", $l);
    $l = preg_replace(\"/([ \\t]|^)ftp\\./i\", \"\\\\1ftp://ftp.\", $l);
    $l = preg_replace(\"/(http:\\/\\/[^ )\\r\\n!]+)/i\",
      \"<a href=\\\"\\\\1\\\">\\\\1</a>\", $l);
    $l = preg_replace(\"/(https:\\/\\/[^ )\\r\\n!]+)/i\",
      \"<a href=\\\"\\\\1\\\">\\\\1</a>\", $l);
    $l = preg_replace(\"/(ftp:\\/\\/[^ )\\r\\n!]+)/i\",
      \"<a href=\\\"\\\\1\\\">\\\\1</a>\", $l);
    $l = preg_replace(
      \"/([-a-z0-9_]+(\\.[_a-z0-9-]+)*@([a-z0-9-]+(\\.[a-z0-9-]+)+))/i\",
      \"<a href=\\\"mailto:\\\\1\\\">\\\\1</a>\", $l);
    $new_text .= $l.\"\\n\";
  }
  return $new_text;
}
 
//使用范例:
$text = \"Welcome www.phpstudy.net :-)\";
print text2links($text);

希望本文所述对大家的php程序设计有所帮助。

本文地址:https://www.stayed.cn/item/18121

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。