Php 检查字符串是否为URL的最简单方法

Php 检查字符串是否为URL的最简单方法,php,codeigniter,url,Php,Codeigniter,Url,目标是检查字符串是否是URL,不需要正则表达式 我有一个表单,允许用户上传图像或从URL添加图像 我得到: van_gogh_shoes.jpg 或 http://t2.gstatic.com/images?q=tbn:ANd9GcR2YNtlcmDDBpseEqUkMhe7-netq7RL2u_bw3_34VwB-Tsv2V-B 用户只需添加一张图片,无论是上传的还是URL。因此,在mysql中,我正在用上面的一个值更新名为entry\u image的同一列 显示图像时,我需要以最简单的方式检

目标是检查字符串是否是URL,不需要正则表达式

我有一个表单,允许用户上传图像或从URL添加图像

我得到:

van_gogh_shoes.jpg

http://t2.gstatic.com/images?q=tbn:ANd9GcR2YNtlcmDDBpseEqUkMhe7-netq7RL2u_bw3_34VwB-Tsv2V-B

用户只需添加一张图片,无论是上传的还是URL。因此,在mysql中,我正在用上面的一个值更新名为
entry\u image
的同一列

显示图像时,我需要以最简单的方式检查
entry\u 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} ?>">
entry\u image,FILTER\u VALIDATE\u URL))$行->条目图片:“上传/条目/{$row->user\u id}/{$row->entry\u image}?>”>
我使用的是
FILTER\u VALIDATE\u URL
,这似乎很有效,但与我以前没有使用的大多数东西一样,我不确定这是否是最好的解决方案。。你的想法是什么

在显示图像时,我尽量避免使用正则表达式或其他繁重的验证代码,因为在将数据输入mysql时,我已经在验证这些值了。请共享一个更简单的解决方案(如果存在)

filter\u var()
是最好的解决方案。不希望使用正则表达式作为解决方案,对此表示赞许


除此之外,我只想指出,将图像文件从外部URL传输到服务器是一种更好的方法(在我看来)。它将使您免受诸如删除的外部图像和与外部服务器的连接问题等问题的困扰。您也不必担心验证URL。这只是一个建议。

1过滤器有什么问题?\u验证\u URL 2如果要求用户输入完整路径,如http://...... 您可以检查字符串是否包含http://@COLDTOLD。如果用户未输入URL,则不需要该URL。我正在处理表单提交时的所有其他URL验证。用于显示图像,检查其是否为URL就足够了。感谢您的建议!我正在考虑一学会如何上传URL图片。