gpt4 book ai didi

php - 文件名的正则表达式,没有 url?

转载 作者:可可西里 更新时间:2023-11-01 00:53:41 28 4
gpt4 key购买 nike

我如何编写一个正则表达式来用它的文件夹路径替换任何文件名,但不匹配 url?并且不会匹配 in url?例如它应该匹配:

/images/something.png
content/scripts/myscript.js
image.gif
/1.jpg

但应该匹配:

http://www.google.com/images/something.png
www.google.com/scripts/myscript.js
http://site.com/?img=/image.png
http://site.com/?img=/scripts/somescript.js

谢谢...

最佳答案

我认为这是不可能的,因为这也是一个有效的目录名称?

www.google.com/scripts/myscript.js

我猜只有 http://可以被过滤。

我不知道你打算做什么,但也许你可以使用 file_exists() 来检查它是否是你文件系统上的文件。

this question告诉我们如何使用正则表达式过滤 url:

$text = preg_replace("
#((http|https|ftp)://(\S*?\.\S*?))(\s|\;|\)|\]|\[|\{|\}|,|\"|'|:|\<|$|\.\s)#ie",
"'<a href=\"$1\" target=\"_blank\">$3</a>$4'",
$text
);

但它还声明您实际上应该使用 filter_var() 函数

var_dump(filter_var('example.com', FILTER_VALIDATE_URL);

关于php - 文件名的正则表达式,没有 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1660191/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com