目標是檢查一個字符串是否是一個URL,不需要正則表達式。最簡單的方法來檢查字符串是否爲URL
我有一個表單,可以讓用戶上傳圖片或從網址添加圖片。
我得到:
van_gogh_shoes.jpg
或
http://t2.gstatic.com/images?q=tbn:ANd9GcR2YNtlcmDDBpseEqUkMhe7-netq7RL2u_bw3_34VwB-Tsv2V-B
用戶可以添加僅有1圖像,無論是上傳或URL。所以在MySQL中,我正在使用上面的值之一更新名爲entry_image
的同一列。
當顯示圖像時,如果entry_image
列的值是URL,我需要以最簡單的方式檢查。如果是這樣,則顯示完整的URL,否則顯示上傳圖像的路徑。
<img src="<?php (filter_var($row->entry_image, FILTER_VALIDATE_URL)) ? $row->entry_image : "uploads/entries/{$row->user_id}/{$row->entry_image} ?>">
我使用FILTER_VALIDATE_URL
這似乎是工作,但與大多數事情一樣,我不知道這是否是最好的解決辦法之前,我沒有用..你有什麼想法?
我試圖避免顯示圖像時的正則表達式或其他嚴重的驗證碼,因爲我已經驗證輸入數據到MySQL時的值。如果存在,請分享一個更簡單的解決方案。
1 FILTER_VALIDATE_URL 2有什麼問題如果用戶需要輸入完整路徑(如http:// ......),您可以檢查字符串是否具有http:// – 2012-07-14 02:06:11
@COLDTOLD URL如果用戶沒有輸入,則不需要。我正在處理表單提交中的所有其他URL驗證。用於顯示圖像檢查它是否足夠。 – CyberJunkie 2012-07-14 02:09:36