可以说$ 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) 是否可以从R中的Excel文件中提取超链接?我仔细查看过XLConnect,xlsx但我发现的唯一一件事就是如何编写超链接,而不是阅读它们.
更多信息:Excel文件包含其中一列中的超链接,这意味着您可以单击的文本将带您到文件或URL.当我使用打开文件XLConnect或xlsx我只看到(不再可点击)文本,但我需要URL.
我正在尝试使以下正则表达式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 中尝试过的:
由于我不精通 bash 命令;所以以前我无法正确捕获该组,sed但在阅读此答案后;我发现我们需要转义括号才能捕获它。 …
我想验证给定的字符串是否为URL.在文本中匹配URL也不错,但不是必需的.我进行了搜索和实验,但到目前为止我没有找到满足这些要求的东西:
不得接受字符串,这些字符串在被视为链接时会带来安全风险.例如,<a href="javascript:alert(document.cookie)">clickme</a>是一个有效的HTML元素,并且至少在某些浏览器中确实可以工作(引发警报等).我担心如果我允许任意方案(见下文),它可能会危及安全性(例如,如下所述:检查字符串是否为有效URL的最佳正则表达式是什么?).
必须在JavaScript中正常工作.
如果它在Java中的工作方式相同会很好 - 我正在开发GWT,所以这很好但不是绝对必要的.
必须接受在实践中使用的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/ - 巨型正则表达式(我问自己,我使用的所有浏览器和框架是否可以处理这个大小)这看起来非常全面,但是它说它符合标准,我可以'做它的头或尾.
谢谢!:-)
我有一个问题,我不知道如何解决,就像我希望它解决.我从某些Twitter提要中提取推文,例如用户和#(通过.rss搜索).但是,有些推文包含一个链接,当它在ListBox(datatemplate)中显示时无法点击.是否有一种简单的方法可以将包含"http:// <-link->"的每条推文内的所有内容转换为实际的可点击链接?通过XAML或C#.
我有以下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我得到了真.这是默认行为还是我错过了这里的东西?
我需要执行许多操作,由传递字符串启动,操作过程取决于字符串是文件、文件夹还是 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)
问题是,我仍然遇到两种情况的问题: …
我正在尝试使用复杂的正则表达式来匹配文本正文中的URL.目的是划分文本中的URL.
我想做类似下面的事情
perl -pe 's/regex/left $1 right/g;' inputfile
Run Code Online (Sandbox Code Playgroud)
这将取代由词包围的匹配值的正则表达式的所有事件left和right这只是一个简单的例子来说明这一点-在真实的情景有加载-e表情,我期待再添这一特定匹配的目的.
正则表达式与URL匹配.我意识到匹配的URL是非常困难的,并且可能无法识别所有可能性,但合理的近似值会很好.我在http://daringfireball.net/2010/07/improved_regex_for_matching_urls找到了一个这样的近似值.
但是,我无法使用像上面这样的perl构造中的正则表达式.我尝试过不同的分隔符/,~但没有成功.
我试图为url验证找到一个简单的正则表达式,但在regexing中不是很好..
目前我有这样的正则表达式: (/^https?:\/\/\w/).test(url)
所以它允许验证网址http://localhost:8080等.
我想做的不是验证网址,如果他们最后有一些长的特殊字符,如:http://dodo.......或http://dododo&&&&&
你可以帮帮我吗?
我已经做了一些关于在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有效?
谢谢.