preg_match_all - 正则表达式查找字符串中的完整网址

2024-01-03

我花了 4 个多小时试图为我的 php 代码找到正则表达式模式,但没有运气。

我有一个带有 html 代码的字符串。 它有很多 url 格式,例如:

example.com
http://example.com
http://www.example.com
http://example.com/some.php
http://example.com/some.php?var1=1
http://example.com/some.php?var1=1&var2=2
etc.

我有以下 php 代码部分工作:

preg_match_all('/\b(?:(?:https?|ftp|file):\/\/|www\.|ftp\.)[-A-Z0-9+&@#\/%=~_|$?!:,.]*[A-Z0-9+&@#\/%=~_|$]/i', $content, $result, PREG_PATTERN_ORDER);

我唯一需要的是还使用“&”捕获具有多个查询字符串的网址 我得到了它们,但不是完整的,我只收到如下内容:

http://example.com/asdad.php?var1=1&

左边已经丢失了。

有人可以帮我添加图案中丢失的部分吗?

预先非常感谢。


出色地。最后我得到了它:

最终的正则表达式代码是:

$regex = "/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i";

有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

preg_match_all - 正则表达式查找字符串中的完整网址 的相关文章

  • 使用 file_get_content 发布数据

    我已经做了一些关于如何使用的研究file get content与帖子 我也读过this one https stackoverflow com questions 2445276 how to post data in php using
  • 为什么这评估为 true

    为什么这评估结果为真
  • 如何将图像从 Android 应用程序上传到网络服务器的特定文件夹中

    如何将图像从 android 移动到 Web 服务器上的指定文件夹 这是我的安卓代码 package com example bitmaptest import java io ByteArrayOutputStream import ja
  • 我可以让 swagger-php 在查询字符串上使用数组吗?

    我使用 Swagger php 当我定义查询字符串上的参数时 它可以是一个数组 但据我所知 它不支持这种查询字符串 https api domain tld v1 objects q 1 q 5 q 12 我相信这会被设定in the co
  • 所有 PHP 相等比较都是对称的吗?

    Is a b总是等价于 b a 我认为在 JavaScript 中 由于强制转换 有一些奇怪的情况并非如此 I think ide https stackoverflow com questions 4752579 are all php
  • 更改 Woocommerce 中“我的帐户”页面上的标题

    我见过大量有关如何使用 WooCommerce 我的帐户仪表板重新排序 更改导航和页面的示例 但我一生都无法弄清楚如何更改每个部分的主要标题 我的帐户 订单 下载 地址等 我已经搜索过模板 但没有任何乐趣 我尝试使用条件 php 注释来回显
  • Smarty 如果 URL 包含

    使用 Smarty 标签我想确定 URL 是否包含单词 例如 if smarty get page contains product php 我知道 contains 不存在 但是我怎样才能轻松地编写类似的东西来实现上述代码呢 所有 PHP
  • Ajax 没有将我重定向到下一页

    我正在尝试将单击的图像的 ID 传递到下一页 当我开发代码时 它没有将我重定向到下一页 当我单击 F12 并检查网络中的 POST 时 它显示变量已正确传递到下一页 如附图所示 但它没有将我重定向到下一页 所以现在我知道变量在下一页中正确传
  • laravel - 使用请求类或输入类

    在宁静的控制器中 我应该使用哪个类来获取传递的变量 member gt email Input get email or member gt email Request get email 两种选择都适合我 但有什么区别 Input get
  • 如何隐藏 URL 中的锚标记

    如何隐藏地址栏中以下链接 href 的哈希值 a href index php dev name 所以它会将我重定向到index php dev name 但我希望地址栏只显示index php 您可以使用 Javascript oncli
  • 编辑 HTACCESS 文件以防止直接访问特定文件夹中的特定文件

    我试图阻止直接访问子文件夹中的特定文件 我意识到这个论坛上有很多描述类似问题的主题 但是 我的似乎有点尴尬 由于我已经存在 HTACCESS 文件 这是文件的文件路径 www example com PRINCIPAL PROJECTS m
  • 对 SimpleXML 数据进行排序和分组

    我正在对 XML 文件中的出版物数据进行排序和分组 我目前使用的方法效果很好大部分情况下 尽管我觉得有一种更有效的方法来完成我想要完成的任务 以下是目标节点的示例
  • Mysqli 更新抛出 Call to a member function bind_param() 错误[重复]

    这个问题在这里已经有答案了 我有一个 70 80 字段表单 需要插入到表中 因此我首先根据表单中的输入名称在数据库中创建了一个表 而不是手动创建一个巨大的插入语句 这是我使用的代码创建 更改表 function createTable ar
  • PHP 扩展开发入门 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 请推荐有关 PHP 低 级 modules 编程接口的帮助文章或教程 搜索我的书签 我发现的唯一链接是
  • 如何将 Smarty 3 包含到 Laravel 4 中?

    我是 Laravel 的新手 所以仍在习惯这些概念 但是我有大约 10 年的使用 Smarty 的经验 所以我希望利用这一点 除了事实上 Blade 似乎缺乏太多我发现有用且在 Smarty 中开箱即用的功能 但无论如何除了这个问题的要点之
  • 如何删除文件

    我们有一个脚本 scripts ourscript php和一个文件 media movie1 flv 当我们运行时 我们如何删除这个文件ourscript php Using unlink http php net manual en f
  • 我可以在 PHP 会话变量中安全地存储用户名和密码吗?

    我想在 REST api 之上制作一个轻量级的 web 应用程序 用户只需进行一次身份验证 从那时起 所有针对 web api 的请求都希望通过以某种方式保持用户名和密码有效来完成 我已经做了一个工作原型我在哪里将用户名和密码存储在会话变量
  • 反向引用在 PHP 中不起作用

    最近我一直在研究 更多的是在实践中说实话 正则表达式 我注意到他的力量 我提出的这个要求 link https stackoverflow com questions 30380397 take the text up to a speci
  • 从字符串中获取数字

    我有一个字符串 例如 lorem 110 ipusm 我想获取 110 我已经尝试过这个 preg match all 0 9 string ret 但这正在返回 Array 0 gt 1 1 gt 1 2 gt 0 我想要这样的东西 Ar
  • ZF3/2 - 如何捕获 EVENT_DISPATCH 侦听器中引发的异常?

    有什么方法可以在 EVENT DISPATCH 监听器中抛出异常吗 class Module public function onBootstrap EventInterface event application event gt get

随机推荐

  • Boost ptree 顶级数组

    我想拥有write json输出一个顶级数组 其效果如下 但是当我将列表传递给write json 它会转换为充满空白键的 json Using add child实际上尊重数组并给了我最接近的东西 Some Key 但这仍然不是我想要的
  • 使用 PHP 的 Filemaker

    我使用 PHP 中的 Filemaker API 从 Filemaker Pro 11 Advance 数据库检索记录 但它显示错误 Error Communication Error 22 The requested URL return
  • 如何播放 mp3

    我的问题从这里开始 pyttsx 和 gTTS 模块错误 https stackoverflow com questions 36323564 pyttsx and gtts module errors gTTS 效果很好 从文本文件中获取
  • 使用从模板化基类继承的成员变量 (C++)

    我试图在派生类中使用模板化基类的成员变量 如下例所示 template
  • 使用网络凭据 VB.Net 获取 Web 服务进行身份验证

    以下 VB net 代码正在对 Web 服务进行身份验证 它工作得很好 但我必须使用默认网络凭据 代码运行的登录用户 我想将网络信用传递给网络服务 以下内容应该可以工作 但不能 这是使用默认凭据的工作代码 Dim URL As String
  • 更新记录时如何防止数据库中出现重复记录?

    在我的 mysql 表中 我看起来像这样 ControlNum Title NumOfEpis Description 001 naruto 500 some text 002 conan 700 some text 现在我在 C 中创建了
  • 来自 fp-ts 和 URI 的打字稿中更高种类的类型

    在 fp ts 中 他们有针对更高种类类型的解决方法 export interface HKT
  • 哪里可以下载最新版本的 Scene Builder for Java? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我搜索了 Oracle 的站点 但找不到实际的可执行文件可供下载 我得到的网站指向旧版本 或者指向场景
  • 如何在 hibernate 中与 Jackson 处理双向一对一关系

    我在用着 JsonIgnore在为响应创建 Json 时防止无限循环的注释 它可以很好地满足我的需要 但我想知道是否有一些替代方案 该属性实际上不会被忽略 但也可以防止无限循环 例如 我有entityA具有以下属性 int id Strin
  • Facemash算法[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道马克 扎克伯格在他的 Facemash 网站中实施的 Facemash 算法吗 http www
  • Lookahead 正则表达式无法找到相同的重叠匹配项

    再次搜索相同模式时是否可以使用正则表达式找到重叠匹配项 我希望能够找到出现三次的匹配项 例如babab中出现 3 次babababab babababab babababab babababab 这是我当前的 Python 实现 impor
  • 调试多线程应用程序

    我继承了一个在启动时抛出 100 个线程的应用程序 这使得我的调试生活变得极其棘手 有没有一种方法可以让 Visual Studio 遵循一个线程 您是否尝试过在 Visual Studio 中使用 线程 窗口 在 调试 Windows 菜
  • 关键字“Table”附近的语法不正确 C# SQL [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 您好 我正在尝试找出为什么出现此错误 关键字 Table 附近的语法不正确 提前谢谢 Code using System usin
  • 如何使用 Homebrew 在 OS X 上安装 Python 3.3(不是 3.4)?

    如果你通过 Homebrew 安装 python3 它会默认安装最新版本 我就是这么做的 但我想要 3 3 而不是 3 4 如何专门使用 Homebrew 将其替换为 3 3 我想尝试使用 Python 3 来使用 Django 但我刚刚学
  • 如何在 C# 中创建非持久(在内存中)http cookie?

    我希望我的 cookie 在用户关闭浏览器时消失 我已经设置了一些看起来很有希望的属性 但即使关闭整个浏览器 我的 cookie 也会弹出来 HttpCookie cookie new HttpCookie mycookie abc coo
  • 不同长度的中断和标签scale_size_binned

    我可能在这里遗漏了一些东西 但在任何地方都找不到任何好的例子 R 版本 4 03 ggplot v 3 3 2 尝试让scale size binned 标签正常工作 但不断出现错误 library tidyverse set seed 1
  • 如何以反应形式获取下拉列表的选定值

    我正在尝试获取要在反应式表单提交时发送的更改事件下拉列表的选定值 根据来自的答案 我有一个非常相似的无线电工作场景如何以反应形式获取无线电的选定值 https stackoverflow com questions 48471846 how
  • 在js中找到多边形的中心点

    我找到了一个不错的example http local wasp uwa edu au pbourke geometry polyarea 如何找到多边形的中心点 在 JS 中 http local wasp uwa edu au pbou
  • 动态 ResourceBundle 键的 EL 中的字符串串联

    我有一个资源包 其中包含如下条目 entry1 value1 entry2 value2 entry3 value3 在我的 JSF 页面中 我尝试动态使用这些键 条目的 ID 来自托管 bean 我认为应该是这样的
  • preg_match_all - 正则表达式查找字符串中的完整网址

    我花了 4 个多小时试图为我的 php 代码找到正则表达式模式 但没有运气 我有一个带有 html 代码的字符串 它有很多 url 格式 例如 example com http example com http www example co