Regex for file names, with no url?
How can 开发者_JS百科I write a regex which will replace any file name, with it's folder path, but wouldn't match url? and wouldn't match in url? For example it should match:
/images/something.png
content/scripts/myscript.js
image.gif
/1.jpg
But should not match:
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
Thanks...
I think this is imposible since this is also a valid directory name?
www.google.com/scripts/myscript.js
I guess only http:// could be filtered.
I don't know what you're planning to do, but maybe you could use file_exists() to check if it's a file on ur filesystem.
this question tells us how to filter a url with regex:
$text = preg_replace("
#((http|https|ftp)://(\S*?\.\S*?))(\s|\;|\)|\]|\[|\{|\}|,|\"|'|:|\<|$|\.\s)#ie",
"'<a href=\"$1\" target=\"_blank\">$3</a>$4'",
$text
);
but it also states that you actually should use the filter_var() function
var_dump(filter_var('example.com', FILTER_VALIDATE_URL);
精彩评论