相关疑难解决方法(0)

即使没有协议,也可以将URL从文本转换为链接

可以说$ content是textarea的内容

/*Convert the http/https to link */
     $content = preg_replace('!((https://|http://)+[a-z0-9_./?=&-]+)!i', '<a target="_blank" href="$1">$1</a> ', nl2br($_POST['helpcontent'])." ");
/*Convert the www. to link prepending http://*/
     $content = preg_replace('!((www\.)+[a-z0-9_./?=&-]+)!i', '<a target="_blank" href="http://$1">$1</a> ', $content." ");
Run Code Online (Sandbox Code Playgroud)

这对于链接工作正常,但意识到当图像在文本中时它正在打破标记...

我现在这样想:

$content = preg_replace('!\s((https?://|http://)+[a-z0-9_./?=&-]+)!i', ' <a href="$1">$1</a> ', nl2br($_POST['content'])." ");
$content = preg_replace('!((www\.)+[a-z0-9_./?=&-]+)!i', '<a target="_blank" href="http://$1">$1</a> ', $content." ");
Run Code Online (Sandbox Code Playgroud)

因为图像是受到尊重的,但问题是现在不会转换带http://或https://格式的网址..:

google.com - >未转换(按预期)

www.google.com - >转换得很好

http://google.com - >未转换(意外)

https://google.com - >未转换(意外)

我错过了什么?

-编辑-

当前几乎可行的解决方

$content = preg_replace('!(\s|^)((https?://)+[a-z0-9_./?=&-]+)!i', ' <a href="$2" target="_blank">$2</a> ', nl2br($_POST['content'])." ");
$content …
Run Code Online (Sandbox Code Playgroud)

php url preg-replace

6
推荐指数
2
解决办法
1498
查看次数

从R中的Excel文件中提取超链接

是否可以从R中的Excel文件中提取超链接?我仔细查看过XLConnect,xlsx但我发现的唯一一件事就是如何编写超链接,而不是阅读它们.

更多信息:Excel文件包含其中一列中的超链接,这意味着您可以单击的文本将带您到文件或URL.当我使用打开文件XLConnectxlsx我只看到(不再可点击)文本,但我需要URL.

r

6
推荐指数
1
解决办法
1389
查看次数

无法使提到的正则表达式在 sed 命令中工作

我正在尝试使以下正则表达式sed在 bash中的命令中工作。

^[^<]?(https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&\/\/=]*))[^>]?$
Run Code Online (Sandbox Code Playgroud)

我知道正则表达式是正确的,并且按我的预期工作。所以; 不需要帮助。我在在线正则表达式测试器上对其进行了测试,它按我的预期工作。

请在此处找到上述正则表达式的演示

我的要求: 我想将每个 url 包含在<>. 如果 url 已经包含;然后将其附加到结果中,如上面的正则表达式链接所示。

示例输入:(在名为 website.txt 的文件中)

// List of all legal urls
https://www.google.com/
https://www.fakesite.co.in
https://www.fakesite.co.uk
<https://www.fakesite.co.uk>
<https://www.google.com/>
Run Code Online (Sandbox Code Playgroud)

预期输出:(在名为 output.txt 的文件中)

<https://www.google.com/> // Please notice every url is enclosed in the <>.
<https://www.fakesite.co.in>
<https://www.fakesite.co.uk>
<https://www.fakesite.co.uk> // Please notice if the url is already enclosed in <> then it is appended as it is.
<https://www.google.com/>
Run Code Online (Sandbox Code Playgroud)

我在 sed 中尝试过的:

  1. 由于我不精通 bash 命令;所以以前我无法正确捕获该组,sed但在阅读答案后;我发现我们需要转义括号才能捕获它。 …

regex bash awk sed

6
推荐指数
1
解决办法
187
查看次数

真实网址的URL验证正则表达式

我想验证给定的字符串是否为URL.在文本中匹配URL也不错,但不是必需的.我进行了搜索和实验,但到目前为止我没有找到满足这些要求的东西:

  1. 不得接受字符串,这些字符串在被视为链接时会带来安全风险.例如,<a href="javascript:alert(document.cookie)">clickme</a>是一个有效的HTML元素,并且至少在某些浏览器中确实可以工作(引发警报等).我担心如果我允许任意方案(见下文),它可能会危及安全性(例如,如下所述:检查字符串是否为有效URL的最佳正则表达式是什么?).

  2. 必须在JavaScript中正常工作.

  3. 如果它在Java中的工作方式相同会很好 - 我正在开发GWT,所以这很好但不是绝对必要的.

  4. 必须接受在实践中使用的URL,而不仅仅是符合标准的URL.具体例子:

    一个.我想接受http://fr.wikipedia.org/wiki/Français,这是不规范的,因为非英文字符的,但我的浏览器参考IE(7+)和Chrome接受.

    湾 我想接受http://fr.wikipedia.org/wiki/Fran%c3%a7ais,这是不规范的,因为百分号十六进制编码应该是大写,而再由IE和Chrome接受.我想我可以做一个不区分大小写的比赛 - 你能想到的任何缺点吗?

    C.我想接受http:// localhost/localpath/servlet #action?param = value,这是非标准的,因为片段部分(从'#'到结尾)不应该包含'?' 和其他字符,但有些应用程序生成这样的URL和浏览器接受它们.

    d.我想接受任何方案/协议(不仅仅是http,https和ftp)的URL,因为我集成的各种应用程序及其用户可能需要传递此类URL.我可以禁止'javascript:'并允许其他所有内容; 如果你认为这会危及安全,请说出来.

在SO和其他地方有关于这个主题的大量问题,但我没有找到满足我所有要求的正则表达式.例子:

  • GWT中的正则表达式匹配URL - 非常好的和简单的正则表达式,但不接受非标准URL.我可以处理方案部分和百分比编码区分大小写,但不处理其他问题.

  • /sf/answers/13328381/ - 巨型正则表达式(我问自己,我使用的所有浏览器和框架是否可以处理这个大小)这看起来非常全面,但是它说它符合标准,我可以'做它的头或尾.

谢谢!:-)

javascript regex url

5
推荐指数
1
解决办法
2363
查看次数

提取的推文中的可点击链接C#

我有一个问题,我不知道如何解决,就像我希望它解决.我从某些Twitter提要中提取推文,例如用户和#(通过.rss搜索).但是,有些推文包含一个链接,当它在ListBox(datatemplate)中显示时无法点击.是否有一种简单的方法可以将包含"http:// <-link->"的每条推文内的所有内容转换为实际的可点击链接?通过XAML或C#.

c# twitter xaml hyperlink

5
推荐指数
1
解决办法
277
查看次数

Javascript URL验证正则表达式

我有以下url验证正则表达式:

/(ftp | https?):// [^"] + $ /

这是来自ref: 用于URL验证的正则表达式(在JavaScript中)

这很好,包括像http://localhost:8080,但它也验证了我不想要的下面的情况.上面的正则表达式不应该通过以下网址

 1. http://www.example..com
 2. http://.com
 3. http://.
 4. http://www.example. 
Run Code Online (Sandbox Code Playgroud)

请正确帮助我作为正则表达式的菜鸟

第二个问题,虽然与问题没有关系,但正则表达式是,当我验证null和未定义的正则表达式/ ^ [az] + $/i我得到了真.这是默认行为还是我错过了这里的东西?

javascript regex

5
推荐指数
1
解决办法
4万
查看次数

VBA - 识别字符串是文件、文件夹还是 web url

我需要执行许多操作,由传递字符串启动,操作过程取决于字符串是文件、文件夹还是 web url。

仅供参考 - 对于文件,我将文件复制到存储库,对于文件夹,我正在制作快捷方式 .lnk 并将其复制到存储库,对于 web url,我正在制作快捷方式 .url 并将其复制到存储库。

我开发了一个解决方案,但它不够健壮;我偶尔会因错误识别字符串而出现错误。我使用的方法是计算字符串中的点数,并应用规则:

If Dots = 1 Then... it's a file.

If Dots < 1 Then... it's a folder.

If Dots > 1 Then... it's a website.
Run Code Online (Sandbox Code Playgroud)

然后我使用我在网上找到的几个函数改进了它:

Dots = Len(TargetPath) - Len(Replace(TargetPath, ".", ""))      ' Crude check for IsURL (by counting Dots)

If CheckFileExists(TargetPath) = True Then Dots = 1             ' Better check for IsFile

If CheckFolderExists(TargetPath) = True Then Dots = 0           ' Better check for IsFolder
Run Code Online (Sandbox Code Playgroud)

问题是,我仍然遇到两种情况的问题: …

string directory url vba file

4
推荐指数
1
解决办法
1万
查看次数

Perl正则表达式替换URL

我正在尝试使用复杂的正则表达式来匹配文本正文中的URL.目的是划分文本中的URL.

我想做类似下面的事情

perl -pe 's/regex/left $1 right/g;' inputfile
Run Code Online (Sandbox Code Playgroud)

这将取代由词包围的匹配值的正则表达式的所有事件leftright这只是一个简单的例子来说明这一点-在真实的情景有加载-e表情,我期待再添这一特定匹配的目的.

正则表达式与URL匹配.我意识到匹配的URL是非常困难的,并且可能无法识别所有可能性,但合理的近似值会很好.我在http://daringfireball.net/2010/07/improved_regex_for_matching_urls找到了一个这样的近似值.

但是,我无法使用像上面这样的perl构造中的正则表达式.我尝试过不同的分隔符/,~但没有成功.

regex url perl

4
推荐指数
1
解决办法
6803
查看次数

Regexp javascript - url与localhost匹配

我试图为url验证找到一个简单的正则表达式,但在regexing中不是很好..

目前我有这样的正则表达式: (/^https?:\/\/\w/).test(url)

所以它允许验证网址http://localhost:8080等.

我想做的不是验证网址,如果他们最后有一些长的特殊字符,如:http://dodo.......http://dododo&&&&&

你可以帮帮我吗?

javascript regex

3
推荐指数
1
解决办法
8288
查看次数

使用或不使用http或https完全验证URL

我已经做了一些关于在PHP中验证URL的研究,发现StackOverflow上有很多不同的答案,有些比其他答案更好,有些已经很老了,过时了.

我有一个用户可以输入网站网址的字段.用户应该能够以任何形式输入URL,例如:

example.com
www.example.com
http://example.com
http://www.example.com
https://example.com
https://www.example.com
Run Code Online (Sandbox Code Playgroud)

PHP附带了一个验证URL功能,但是,如果URL没有,它会将URL标记为无效http://.

我如何验证任何类型的URL,无论是否有,http://https://确保URL有效?

谢谢.

php regex

3
推荐指数
1
解决办法
5285
查看次数

标签 统计

regex ×6

url ×4

javascript ×3

php ×2

awk ×1

bash ×1

c# ×1

directory ×1

file ×1

hyperlink ×1

perl ×1

preg-replace ×1

r ×1

sed ×1

string ×1

twitter ×1

vba ×1

xaml ×1