【发布时间】:2012-07-13 21:22:15
【问题描述】:
目标是检查字符串是否为 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:// 这样的完整路径,用户如何输入 url ......你可以检查字符串是否有 http://
-
@COLDTOLD 如果用户不输入该 URL,则该 URL 不是必需的。我正在处理表单提交的所有其他 URL 验证。对于显示图像,检查它是否是一个 URL 就足够了。
标签: php codeigniter url