我正在創建一個配置文件頁面,用戶可以在其中爲其配置文件圖像設置url。例如,我如何使用正則表達式來檢查它?正則表達式url到php中的圖像
回答
您可以使用cURL作爲mime。對於URL驗證我使用以下,但有負載。您可以使用FILTER_VALIDATE_URL
,但它可能包含錯誤; http://bugs.php.net/51192。
$url='image.png';
if(preg_match("#((http|https|ftp)://(\S*?\.\S*?))(\s|\;|\)|\]|\[|\{|\}|,|\"|'|:|\<|$|\.\s)#ie", $url)){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, 'http://yoursite.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_exec($ch);
$mime = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
curl_close($ch);
print $mime;
}
你不能。任何文件都可以在任何地址提供。你需要檢查URL返回的Content-Type,也可能是圖片的格式。
那麼,你至少可以測試它是一個有效的URL。 – 2011-01-19 12:55:11
如果這是真正的問題,那麼這是一個愚蠢的http://stackoverflow.com/questions/206059/php-validation-regex-for-url – Joe 2011-01-19 13:36:56
您可以使用FILTER_VALIDATE_URL
。
看:parsing url - php, check if scheme exists, validate url regex
首先測試與filter_var()
$url = filter_var($variable, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED);
一個有效的URL,那麼你就需要下載的資源,本地測試,如果它是一個形象。
- 1. 正則表達式去掉圖像url?
- 2. PHP + JAVASCRIPT GET正則表達式的URL正則表達式
- 3. 正則表達式得到圖像的URL源代碼
- 4. PHP正則表達式的URL
- 5. PHP的正則表達式來從URL
- 6. Url重寫的正則表達式php
- 7. 正則表達式PHP的URL協議
- 8. 正則表達式表達對圖像
- 9. 正則表達式中的URL規則
- 10. URL的正則表達式
- 11. 正則表達式的URL
- 12. 正則表達式的URL
- 13. URL的正則表達式
- 14. URL的正則表達式
- 15. 正則表達式的URL
- 16. Javascript lastIndex正則表達式屬性到PHP正則表達式
- 17. JS正則表達式到PHP正則表達式轉換
- 18. PHP正則表達式到Java正則表達式
- 19. Url路由正則表達式PHP
- 20. PHP URL路由正則表達式
- 21. url匹配正則表達式爲php
- 22. PHP正則表達式和URL解析
- 23. 正則表達式解析URL PHP
- 24. PHP正則表達式HTML - 提取URL
- 25. PHP - 正則表達式來拆分URL
- 26. PHP正則表達式:從URL
- 27. URL正則表達式爲PHP框架
- 28. PHP正則表達式 - 從重寫URL
- 29. 正則表達式的URL的正則表達式
- 30. iPhone正則表達式和模式提取圖像的URL
你的意思是「他們的」。 – 2011-01-19 12:28:55
你究竟打算「檢查」什麼?什麼是標準? – 2011-01-19 12:29:20