PHP url 识别

标签 php regex url

如何检查用户输入的文本是否为网址?

假设我想检查文本是否是网址,然后检查字符串中是否包含“youtube.com”。然后,我想获取子字符串“watch?v=”和任何“&”参数(如果确实存在)之间我感兴趣的链接部分。

最佳答案

parse_url()这里可能是一个不错的选择。如果您得到错误的 URL,该函数将返回 false。否则,它会将 URL 分解为多个组成部分,您可以使用您需要的部分。

示例:

$urlParts = parse_url('http://www.youtube.com/watch?v=MX0D4oZwCsA');
if ($urlParts == false) echo "Bad URL";
else echo "Param string is ".$urlParts['query'];

输出:

Param string is v=MX0D4oZwCsA

您可以根据需要使用 explode() 拆分查询部分具体参数。

编辑:请记住,parse_url()会尽可能努力地尝试解析给定的字符串,因此错误的 URL 通常会成功,尽管结果数据数组会很奇怪。显然,这取决于您希望验证的明确程度以及您到底需要从用户输入中获得什么。

关于PHP url 识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4772667/

相关文章:

python - 如何使用Python的re模块检测字符串中的重复模式

ruby - 在 Ruby 的正则表达式中,前瞻和后视概念如何支持这种零宽度断言概念?

regex - 如何在 Scala 中从较大的字符串中提取有效的电子邮件

javascript - 根据 url 哈希更改表达式 -handlebars.js

python - 无法打开包含西里尔符号的 Python 编码 URL

php - 从 WSO2 API 管理器 ISSUE 调用带有 .php 的 API 名称

php - 为 sql 表中的每一列生成输入提交

php - 复选框/按钮提交隐藏类/ID

php - 从 PostgreSQL 数据库打印

python - 在python中获取url的特定部分