正则表达式是测试 url 的好方法吗

2023-12-06

我正在尝试测试使用 php5 输入的 url 的有效性。我想过使用正则表达式,但假设它始终正常工作,它只能解决 url 在语法上有效的问题。它没有告诉我有关网址正确或有效的任何信息。

如果可能的话,我正在尝试寻找另一种解决方案来同时完成这两件事。或者为此找到两个单独的解决方案更好?

如果正则表达式是可行的方法,那么 url 存在哪些经过测试的正则表达式?


而不是在正则表达式上绞尽脑汁(网址是very复杂),我只是用filter_var(),然后尝试使用 ping 该 URLcURL:

if (filter_var($url, FILTER_VALIDATE_URL) !== false)
{
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_exec($ch);
    $status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    if ($status_code >= 200 && $status_code < 400)
    {
        echo 'URL is valid!';
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式是测试 url 的好方法吗 的相关文章

  • 重定向而不改变url

    我总是不喜欢 htaccess 我正在尝试建立一个所有请求都通过index php 的网站 但我希望URL 类似于www sample com home 该网址实际上会加载 www sample com index php page hom
  • 在 php 中为类自动生成 getter 和 setter 的最佳方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我经常创建一个包含一些私有变量的类 当设置此类的实例时 应该可以使用 getter 和 setter 填充该类的所有变量 有没有一种简单的方法可
  • 如何使用正则表达式验证带有可选百分比符号的小数?

    正如问题的标题 我需要使用以下值验证正则表达式 最多 2 个小数位和 9 个整数 带有可选的百分比符号 Valid 10 0 1111111 12 15 2 10 2 3 Invalid 12 02 123456789123 123 I t
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • 如何使用 php 发送服务器错误响应?

    一旦用户点击删除按钮我的 jQuery 脚本要求服务器删除所选项目 现在我想要我的php发送成功或错误响应的脚本 是否有可能触发错误回调万一该项目无法删除 Thanks 我的 jQuery 代码 ajax type post url myA
  • PHP严格标准:声明应该兼容

    我有以下类层次结构 class O Base class O extends O Base abstract class A Abstract public function save O Base obj class A extends
  • Symfony2 Assetic 和 Less Sourcemaps

    我不确定如何破解 assetic less 过滤器以输出源映射文件 我这里指的是LessFilterhttps github com kriswallsmith assetic blob master src Assetic Filter
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • 检查 JavaScript 字符串是否为 URL

    JavaScript 有没有办法检查字符串是否是 URL 正则表达式被排除在外 因为 URL 很可能是这样写的stackoverflow 也就是说它可能没有 com www or http 如果你想检查一个字符串是否是有效的 HTTP UR
  • 在 Wordpress 站点中进行 AJAX 调用时出现问题

    我在使用 Wordpress 站点功能的 AJAX 部分时遇到了一些问题 该功能接受在表单上输入的邮政编码 使用 PHP 函数来查找邮政编码是否引用特定位置并返回到该位置的永久链接 我的第一个问题是关于我构建的表单 现在我的表单操作是空白的
  • jQuery Mobile 表单验证

    我有一个移动网站 除了验证之外一切都工作正常 基本上我希望从用户那里获取值 然后在单独的页面 process php 上处理它们 但是 在这样做之前 我需要检查以确保字段已填充 我已经研究了几种方法来做到这一点 但似乎没有一种有效 我现在有
  • 如果循环中内存超出,我可以在 for 循环中抛出异常吗?

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何处理 foreach 循环中发生
  • php 错误 fopen(): 文件名不能为空

    发送带有附件代码的电子邮件工作正常 最近我们已将文件传输到另一个托管服务器 idk 发生了什么 它显示以下错误 警告 fopen 第 106 行 home hugerecruitmetnt public html validatecva p
  • 与有效正则表达式匹配的正则表达式

    是否存在与有效正则表达式匹配的正则表达式 我知道正则表达式有多种风格 其中一种就可以了 是否存在与有效正则表达式匹配的正则表达式 根据定义 它非常简单 No 所有正则表达式的语言是no regular语言 只需查看嵌套括号 因此不可能有re
  • 如何在 PHP 中从 IP 地址/国家/地区名称查找时区 ID?

    谁能告诉我 PHP 中是否有任何方法可以从 IP 地址或国家 地区名称获取时区区域 例如 亚洲 加尔各答 描述 我正在尝试根据他 她的国家 地区设置用户时区 我从他的 IP 地址获取用户所在国家 地区 但我需要该国家 地区的时区区域 例如
  • 一次播种多行 laravel 5

    我目前正在尝试为我的用户表播种 如果我像这样尝试 2 行 就会失败 如果我只使用单个数组而不是 users 数组内的 2 个数组来创建一些假数据 那么效果很好 我做错了什么 正确的方法是什么 class UserTableSeeder ex
  • php,统计字符并删除超过140个字符的内容

    我需要一个 PHP 函数来计算短语的字符数 如果短语长度超过 140 个字符 则此函数应删除所有其他字符并在短语末尾添加三个点 例如我们有 message I am what I am and you are what you are et
  • 使用正则表达式提取两个短语之间的所有单词[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下正则表达式提取两个短语之间的所有单词 b item W w W 0 2 1 one W w W 0 3 business b b item W w W 0 2 3 three W w W 0 3
  • 如何在 Laravel 中使用 PUT http 动词提交表单

    我知道这个问题可能已经提出 但我就是无法让它发挥作用 如果有人可以帮助我 我将非常感激 我安装了 colletive form 但答案也可以是 html 表单标签 现在列出我的表格 我的路线和我的例外情况 Form model array
  • 简单的 PHP 表单:电子邮件附件(代码 Golf)

    想象一下 一个用户想要在其网站上放置一个表单 该表单将允许网站访问者上传一个文件和一条简单的消息 该消息将立即通过电子邮件发送 即 该文件未存储在服务器上 或者如果该文件存储在服务器上 仅暂时 作为文件附件 并在邮件正文中添加注释 查看更多

随机推荐

  • PHP 检测 SQL 注入尝试

    我的代码已经安全了 在 SQL 查询中使用参数 但是 我想检测是否有人attempts将某些内容注入到提交表单中 我找到了 Snort 但我需要 PHP 脚本级别的东西 而不是整个网络 这是一个包含学生个人信息的网站 因此 我们将警告 甚至
  • jQuery 淡入淡出 div 在设定的时间间隔内

    我想淡出集合中的第一个 div 然后淡入下一个 div 淡入淡出将在设定的时间触发 集合中的项目数为 1 到 n 这是 html 的示例 div class contentPanel div class content div style
  • 填补 OpenCV 中的漏洞[重复]

    这个问题在这里已经有答案了 我有一个从边缘检测模块中提取的边缘图OpenCV 精明的边缘检测 我想做的是填补边缘图中的漏洞 我在用C and OpenCV图书馆 在OpenCV中有一个cvFloodFill 函数 它将用种子填充孔 以及开始
  • 带有 ASP.Net 的新 Google Recaptcha

    我正在尝试获取新的谷歌验证码在我的 ASP NET 项目中工作 我在使其成为新项目 我不是机器人 时遇到问题 我在那里有旧的 在对developers google com网站进行了大量研究之后 一切看起来都一样 他们甚至向我指出了相同的d
  • Binding 与 x:Bind、使用 StaticResource 作为默认值以及它们在 DataContext 中的差异

    我花了大半天的时间试图制作ItemTemplate of a ListView with a UserControl可通过以下方式配置DependencyProperty上说UserControl 我遇到了关于这两种不同的一些奇怪的不一致之
  • Google+ android API PlusClient writeMoment 不执行任何操作

    为了在 Android 应用程序中实现社交功能 我尝试使用 PlusClient 类的 writeMoment 方法 但没有任何反应 我能够与 PlusClient 成功连接 并使用我的应用程序编写深层链接帖子 这是我打开 Google 连
  • 查找内存最后被释放的位置?

    非常一般 当发生访问冲突时 是否有一种简单的方法可以判断哪一行代码最后释放了内存块 不太一般 我对探查器的理解是它们会覆盖分配和释放过程 如果这是真的 他们是否会碰巧存储最后释放一段内存的代码行 以便当它稍后因访问冲突而崩溃时 您知道最后释
  • 无法加载默认凭据? (Node.js Google 计算引擎教程)

    情况 我按照这个教程 https cloud google com nodejs tutorials bookshelf on compute engine 一切正常 直到我这样做npm start并转到 http 本地主机 8080 我在
  • UITextField 的初始 iPhone 虚拟键盘显示速度很慢。是否需要这种破解?

    我有一个带有 UITextField 的应用程序 等等 当用户第一次点击文本字段时 在虚拟键盘出现之前有明显的延迟 在 3GS 上 延迟不太明显 但在较旧的 iPhone 上 延迟可能约为 1 秒 之后键盘总是立即弹出 延迟只是应用程序启动
  • 当图像接近边缘时,9 块阴影消失

    我正在使用 9 patch 为盒子生成阴影 如果图像宽度为 280dp 距框边缘 20dp 我会得到很好的阴影 315 度 但是 如果我让图像接触框边缘 右边缘的阴影几乎消失 这是我的布局
  • 需要根据 T-SQL 中准入日期列计算出的第一个“3 个月”,为列中的每个值添加 3 个月

    我有 14K 记录表 如下所示 与一个特定 client id 1002 相关的数据示例 我的日期格式是 mm dd yyyy 月份在前 ClientsEpisodes client id adm date disch date 1002
  • Android Fragment 生命周期问题(onActivityResult 上的 NullPointerException)

    我遇到一个问题 我找不到任何解释 我有一个使用 TabManager 显示片段的 FragmentActivity 如下所示 public class WorkOrderFormTabFragmentActivity extends Fra
  • django 更改默认运行服务器端口

    我想设置默认端口manage py runserver侦听无关的指定内容config ini 有没有比解析更简单的修复方法sys argv inside manage py并插入配置的端口 目标是跑 manage py runserver不
  • Wamp 服务器:更改 apache 的 httpd.conf?

    我正在尝试解决我的错误 我无法从服务器连接到我的 Android 应用程序 所有来源都将我引向以下教程作为解决方案 我已成功完成本教程中的所有步骤 除了 编辑Wamp服务器的httpd conf文件 IE 该教程说明了以下内容 4 在htt
  • 如何杀死 goroutine? [复制]

    这个问题在这里已经有答案了 我想知道如何杀死 停止 goroutine 所有示例都基于通道和选择 这似乎只有在 goroutine 包含一些可以在通道上监听的重复任务时才有效 有没有办法在下面的 goroutine 返回之前停止它 pack
  • 使用认知登录而不是证书来验证和订阅 aws IoT MQTT 主题?

    我是 AWS 的新手 我正在尝试弄清楚我的用例是否可行 我想创建一个移动应用程序 用户可以登录 电子邮件 facebook google 等 然后订阅 aws IoT 上的一些 MQTT 主题 以接收园艺系统的实时传感器数据 AWS 上有很
  • 使用循环提取一系列整数

    我有一些数据想要提取整数出现的频率 这是一些示例数据 df lt read table header T text A B C D 1 1 5 3 1 2 1 2 3 2 3 2 3 5 3 4 1 4 5 3 5 3 1 4 2 6 5
  • PostgreSQL 逻辑复制在 CREATE SUBSCRIPTION 上挂起

    我在 PostgreSQL 逻辑复制版本 15 上遇到问题 我也在 v10 和 v12 上进行了测试 但遇到了同样的问题 它需要复制来进行测试 因此源数据库和目标数据库位于同一服务器上 在我设置的配置文件中 postgresql conf
  • 在两个用户控件和主窗体之间传递对象

    因此 我有一个用作导航栏的主窗体和两个显示一些控件的用户控件 In UserControlsA我有一些字段需要填写 使用这些数据 我创建了一个包含一些信息的对象 我需要将该对象传递给UserControlsB所以我可以在那里显示一些数据 我
  • 正则表达式是测试 url 的好方法吗

    我正在尝试测试使用 php5 输入的 url 的有效性 我想过使用正则表达式 但假设它始终正常工作 它只能解决 url 在语法上有效的问题 它没有告诉我有关网址正确或有效的任何信息 如果可能的话 我正在尝试寻找另一种解决方案来同时完成这两件