Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用于将URL转换为链接的增强正则表达式_Php_Regex - Fatal编程技术网

Php 用于将URL转换为链接的增强正则表达式

Php 用于将URL转换为链接的增强正则表达式,php,regex,Php,Regex,好的,我知道有很多方法可以将URL转换为链接锚定标记 问题是我想匹配一个支持http和https协议的URL。。。然后它将在新选项卡中打开。。。但我正在寻找一种安全的方法来做这件事。。。所以简单的。*不起作用。。。。我试过这样的方法: 但是如果我有这样的字符串:嘿,看看这个http://google.com 成年男子它把它变成了这样的东西 嘿,看看这个: 因此,我在链接的末尾加了一个双引号:It’有什么办法可以增强这个正则表达式吗?我尝试在不允许的字符中添加a:[^],但它没有任何效果。您必须

好的,我知道有很多方法可以将URL转换为链接锚定标记

问题是我想匹配一个支持http和https协议的URL。。。然后它将在新选项卡中打开。。。但我正在寻找一种安全的方法来做这件事。。。所以简单的。*不起作用。。。。我试过这样的方法:

但是如果我有这样的字符串:嘿,看看这个http://google.com 成年男子它把它变成了这样的东西

嘿,看看这个:


因此,我在链接的末尾加了一个双引号:It’有什么办法可以增强这个正则表达式吗?我尝试在不允许的字符中添加a:[^],但它没有任何效果。

您必须在正则表达式中不允许该单词,而不仅仅是该字符

我知道的唯一不允许使用词语的方法是:

所以我想这个正则表达式可能有用:

#(https?://([_a-zA-Z0-9-]+\.[a-z0-9]+)/?((?!(&quot;|\(|\)|<|>)).)*)#i

没有用:还是一样…实际上现在根本不起作用:dw您想要的输出是什么?它应该输出:非常简单,但我上面给出的模式匹配双引号。。。我只想它与他们不匹配:仅此而已:完美是不可能的。因为它从根本上是模棱两可的。二者都http://www.google.com?xx= 和http://www.google.com?xx= 都是合法的链接。效果很好!:谢谢我试图添加第一个位置,但像一个符号而不是一个单词:我现在要做更多的测试。。。
#(https?://([_a-zA-Z0-9-]+\.[a-z0-9]+)/?((?!(&quot;|\(|\)|<|>)).)*)#i