Heim > Backend-Entwicklung > PHP-Tutorial > 跪求正则表达式写法

跪求正则表达式写法

WBOY
Freigeben: 2016-06-23 13:24:47
Original
1120 Leute haben es durchsucht

在线求助php正则表达式写法。
以下文本中出现的所有url想换成超链接形式。

“文字www.baidu.com文字
www.html.com
文字http://www.baidu.com
https://www.google.com”

代码如下:
public function make_clickable($str) {
   $str = preg_replace('`([^"=\'>])((http://|https://|ftp://|ftps://|www.)[^\s$2', $str);
   return $str;
}

问题:
当文本为www.baidu.com时,超链接变成http://localhost/www.baidu.com

www前没有http或https的情况下,想替换成http://www.baidu.com的格式,再替换成超链接,
跪求正则表达式写法。


回复讨论(解决方案)

在此基础上改了下

$s = '“文字www.baidu.com文字www.html.com文字http://www.baidu.comhttps://www.google.com”';echo make_clickable($s);function make_clickable($str) {   $str = preg_replace('`([^"=\'>])((http://|https://|ftp://|ftps://|www.)[^\s< ]+[^\s<\.)])`ie',"_link('\\1','\\2')" , $str);   return $str;}function _link($text,$link){	if(explode('.',$link)[0]=='www'){		$link='http://'.$link;	}	return $text.'<a href="'.$link.'" target="_blank" rel="nofollow">'.$link.'</a>';}
Nach dem Login kopieren

非常有用。感谢


class Convert
{
   /*
   * URLを自?でリンク形式に
   */
   public function make_clickable($str)
   {

      $str = preg_replace('`([^"=\'])((http://|https://|ftp://|ftps://|www.)[^\s      return $str;

   }

   private static function _link($text, $link)
   {
      if (explode('.', $link)[0] == 'www') {

         $link = 'http://' . $link;

      }
      return $text . '' . $link . '';
   }
}

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage