Autor | Zpráva | ||
---|---|---|---|
PetraMachova Profil * |
#1 · Zasláno: 18. 7. 2012, 17:45:29
Potřebovala bych script, který by mě řekl ... ano jedná se o externí URL s použitím http nebo www NEBO .... ne nejedná v případě, že to bude odkaz typu: ../slozka/obrazek.jpg
Neznáte něco takového? |
||
ShiraNai7 Profil |
#2 · Zasláno: 18. 7. 2012, 17:55:37
No jediná "validní" externí adresa je taková, co začíná schématem (http://, https:// a tak dále). Takže si můžeš udělat například takovouto funkci:
function isAbsoluteUrl($url) { return null !== parse_url($url, PHP_URL_SCHEME); } Nebo použít regulární výrazy (zde si můžeš taky vybrat, jaké schémata chceš podporovat): function isAbsoluteUrl($url) { return 0 !== preg_match('~^(http|https|ftp)://~', $url); } Regulárem můžeš taky přijmout jakékoliv schéma (stejně jako první funkce), pokud chceš: function isAbsoluteUrl($url) { return 0 !== preg_match('~^[a-z]+://~', $url); } --- Ukázky použití: <?php var_dump(isAbsoluteUrl('http://example.com/')); // true var_dump(isAbsoluteUrl('image.jpg')); // false var_dump(isAbsoluteUrl('../file.dat')); // false var_dump(isAbsoluteUrl('www.seznam.cz')); // false (! - to je spravne, nejedna se o "externi" a absolutni url) |
||
Časová prodleva: 11 let
|
0