查找字符串中的多个 url。

2023-12-09

 $resource = "THIS IS ABOUT WWW.JONAKCOMPUTERS.COM, HTTP://HIGHLOW.COM, AND TESTINGSERVER1.COM"

我想将三个网址提取到另一个类似于以下内容的字符串中:

 $all_urls = "JONAKCOMPUTERS.COM - HIGHLOW.COM - TESTSERVER1.COM

这是我从别人那里找到的:

$pattern = '#(www\.|https?:\/\/){1}[a-zA-Z0-9]{2,}\.[a-zA-Z0-9]{2,}(\S*)#i';
preg_match_all($pattern, $string, $matches, PREG_PATTERN_ORDER);

但它不拉“jonakcomputers.com”,只拉“http://url”或“www.url”

抱歉,大写的,我只是想澄清一下,它最后不区分大小写。我总是可以利用它。我需要在页面加载之前执行此操作,因此它可以是 javascript 或 php。

如果我能拿出一个,我想我可以做一个循环来不断检查新的,直到它用完。

感谢任何愿意提供帮助的人。


我在控制台中运行了您的代码,只需调整最后一个片段中的变量名称即可:

php > $resource = "THIS IS ABOUT WWW.JONAKCOMPUTERS.COM, HTTP://HIGHLOW.COM, AND TESTINGSERVER1.COM"
php > $pattern = '#(www\.|https?:\/\/){1}[a-zA-Z0-9]{2,}\.[a-zA-Z0-9]{2,}(\S*)#i';
php > preg_match_all($pattern, $resource, $matches, PREG_PATTERN_ORDER);
php > var_dump($matches);
array(3) {
    [0]=>
        array(2) {
            [0]=>
                string(23) "WWW.JONAKCOMPUTERS.COM,"
            [1]=>
                string(19) "HTTP://HIGHLOW.COM,"
        }
    [1]=>
        array(2) {
            [0]=>
                string(4) "WWW."
            [1]=>
                string(7) "HTTP://"
        }
    [2]=>
        array(2) {
            [0]=>
                string(1) ","
            [1]=>
                string(1) ","
        }
}

您在 preg_match 返回中看到的是一个多维数组,其中包含以下内容:

0:完整比赛

1:子模式 1 匹配

2:子模式 2 匹配

我看到的唯一修复是您需要稍微调整 RegExp 以解决缺少 ww 或 http 的问题。所以只需使用它作为模式:

$pattern = '#(www\.|https?:\/\/)?[a-zA-Z0-9]{2,}\.[a-zA-Z0-9]{2,}(\S*)#i';

您的 $matches 现在应该包含所有 3 个。

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

查找字符串中的多个 url。 的相关文章

  • 无法在“System.String”类型上的多个长度相等的构造函数之间进行选择

    尝试解析类型时出现以下错误 无法在 System String 类型上的多个长度相等的构造函数之间进行选择 注册组件时 使用UsingConstructor 配置方法显式选择构造函数 该类型有 1 个构造函数 该构造函数采用IReposit
  • 在Python中检测re(regexp)对象

    我想知道什么是正确的 pythonic 向后和向前兼容的方法如何检查对象是否已编译re object isinstance方法不能轻易使用 而生成的对象声称是 sre SRE Pattern object gt gt gt import r
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 正则表达式 '?' 的类似物(前一项可选)在T-SQL中像什么?

    我想知道 是否可以翻译包含 的正则表达式 前面的项目可选 在 T SQL LIKE 模式中 DB 端无需任何操作 例如 31 4 我可以将其分成几个子句 但如果正则表达式包含很多 这不太方便 LIKE不使用正则表达式 并且它使用的模式语言没
  • 在 HTML5 Javascript 中将 BlobBuilder 转换为字符串

    function blobToString blob var reader new FileReader var d reader onloadend function d callback reader result console lo
  • 如何使用 Twig 的属性函数访问嵌套对象属性

    我试图使用一个树枝变量来访问另一个树枝变量的属性 直到我找到 属性 函数为止 该变量才起作用 除了需要访问嵌套属性的情况外 效果很好 当包含属性的变量实际上是对象 属性时 它不起作用 例如 attribute object1 variabl
  • 限制自己超载外部 API 的速率

    我发现了很多信息和脚本示例 展示了如何对 API 用户进行速率限制 但我无法找到任何示例来说明在施加这些限制时如何对您自己的 API 请求进行速率限制 我总是用诸如以下的代码来限制我的脚本sleep or usleep命令 但感觉这是一种低
  • 检查给定字符串是否等于给定字符串集中的至少一个字符串的有效方法

    给定一组字符串 比如说 String1 String2 StringN C 中确定最有效的方法是什么 返回true or false 是否给定string s匹配上面集合中的任何字符串吗 Boost Regex 可以用于此任务吗 std u
  • 为什么我的 if 语句没有按我预期的方式工作?

    我正在尝试实现以下目标 我向我的 SQL 数据库询问使用SELECT FROM subjects 这样做之后我要求使用数组mysqli fetch assoc 在那之前一切都很好 现在的问题是 当我尝试在每个循环中修改 genero 的值
  • apache_request_headers() 与 $_SERVER

    据我所知 apache request headers 提供与以下相同的信息 SERVER 但按键略有不同 为什么有人应该使用apache request headers 而不仅仅是从那里获取这些信息 SERVER 我在 Centos 上使
  • MySQL PHP邮政编码比较具体距离

    我试图找出比较一个邮政编码 用户提供的 和一大堆其他邮政编码 现在大约有 200 个邮政编码 之间的距离的最有效方法 相对于加载时间 但它会随着时间的推移而增加 我不需要任何精确的东西 只是在球场上 我下载了整个美国的邮政编码 csv 文件
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 检查条件并通过 Zend 中的 Regex 识别 url 中的模式

    我正在实现 Zend Regex 路由 并且必须对 url 执行多次检查 例如 如果这是我的网址 http localhost application public index php module controller action 这是
  • 从数据库填充复选框

    我有两个表 第一个由与名称关联的 id 组成 1 汽车 2 火车 3 普通 ETC 第二个表由两个字段 user id 和第一个表中的 id 组成 例如 1 1 2 1 3 当用户转到该页面时 我试图重新填充选定的复选框 首先 您查询数据库
  • URL 中的 %2F 中断并且未引用所需的 .php 文件 [重复]

    这个问题在这里已经有答案了 我需要将 作为变量作为 URL 的一部分传递 我的结构如下所示 www domain com listings page 1 city Burnaby South type Townhome bedroom 2
  • shell中如何分割字符串

    我有一个变量作为 string ABC400p2q4 我怎样才能分开ABC400 and p2q4 我需要将它分成两个变量 结果我得到 echo var1 ABC400 echo var2 p2q4 可以用任何字母字符代替 ABC 可以用任
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • 使用基于正则表达式的部分匹配来选择 Pandas 数据帧的子数据帧

    我有一个 Pandas 数据框 它有两列 一列 进程参数 列 包含字符串 另一列 值 列 包含相应的浮点值 我需要过滤出部分匹配列 过程参数 中的一组键的子数据帧 并提取与这些键匹配的数据帧的两列 df pd DataFrame Proce
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入
  • 一种无需 JavaScript 即可在 PHP 中确定浏览器宽度的方法?

    首先有吗 或者我必须使用javascript 我希望能够更改使用的 CSS 因此 frex 我可以为移动设备或其他设备加载较小的字体 不幸的是 仅使用 PHP 无法检测用户分辨率 如果您使用 Javascript 则可以在 cookie 中

随机推荐

  • 获取错误的字符串长度

    我试图获取字符串的长度 但得到了错误的值 据说它只有 4 个字符长 为什么是这样 我在使用吗sizeof 正确吗 include
  • Swift 有文档生成支持吗?

    多种语言支持文档注释允许生成器 例如javadoc or doxygen 通过解析相同的代码来生成代码文档 Swift 有类似的类型文档注释功能吗 Documentation comments are supported natively
  • Jquery 对话框内容 div 样式

    我有这样的情况 var div document createElement div div id content div dialog open div 的内容在对话框中打开 但我无法设置它的样式 我尝试通过 id 或 className
  • 用可变速率拟合上限泊松过程

    我正在尝试使用最大后验估计来估计泊松过程的速率 其中速率随时间变化 这是一个速率线性变化的简化示例 ax b import numpy as np import pymc Observation a actual 1 3 b actual
  • 学说 2 自定义类型

    我正在尝试实现 Doctrine 自定义数据类型 以将货币小数保存为 SQL 整数 我无法更改数据库设计 所以我必须这样做
  • 调试 NPM 模块

    目前 我已经创建了一个 NPM 模块并将其发布到 NPM 并将其包含在单独的项目中以供使用 我已经执行了 NPM 链接 因此不必每次进行更改时都进行发布 并且这些更新会得到适当的反映 但是 我似乎无法调试模块本身 我尝试将调试器放置在 no
  • 选择相似的句子

    如果我有一组句子并且我想提取重复项 我应该像下面的示例一样工作 sentences lt c So there I was at the mercy of three monstrous trolls Today is my One Hun
  • 如何使用httpwebrequest将图像从网站拉取到本地文件

    我正在尝试使用本地 c 应用程序将网站上的一些图像提取到本地计算机上的文件中 我正在使用下面列出的代码 我尝试过 ASCII 编码和 UTF8 编码 但最终文件不正确 有人看到我做错了什么吗 当我将地址输入浏览器时 该网址有效且正确 并且可
  • 如何在net core web api中接受dd-MM-yyyy格式的日期?

    我在我的 Web API 项目中使用 net core 3 1 我创建了一个 API 它接受用户的日期 默认情况下月 日 年格式在项目中被接受 但我想接受日期日 月 年相应地格式化并验证所有日期 下面是我的API HttpGet publi
  • 标签替换非 html 链接

    我有一段代码 它将采用如下所示的文本块 示例文本 示例文本http www google com示例文本 使用preg replace callback方法和以下正则表达式 preg replace callback http w crea
  • 对 asp 中的参数化 SQL 语句进行故障排除

    我正在尝试保护一些用我猜是 VB 或 asp 编写的遗留代码 不太确定是否有区别 当我尝试执行该语句时 页面出现内部服务器错误 我确信这是连接的结果 但我不太了解该语言 不知道如何解决它 我对该语言和 ADODB 库的了解来自 W3Scho
  • 如何检查 awk 数组是否为空

    我是 AWK 的新手 试图确定我的数组是否为空 以便如果是的话我可以打印一条消息 通常我习惯于长度函数并且可以这样检查 但 AWK 似乎没有这些 这是我的工作代码 如果解析所有数据后数组中没有任何内容 我只想打印出不同的消息 add to
  • r stat_contour 多边形填充不正确

    当我使用stat contour对于多边形 某些区域不应该被填充 因为那里没有数据 我在图中标记了它们 有谁知道如何避免这种情况 另外 坐标轴和绘图区域之间有空间 如何去掉 这是绘图代码 plot contour lt function d
  • JavaScript 错误:未捕获类型错误:foo 不是函数

    由于某种原因 JavaScript 似乎无法识别我的函数 我在一些 HTML 中有一个按钮
  • 扩展 Material UI 主题中的排版

    是否可以在 Material UI 主题中定义额外的字体 字体系列 我想要得到这样的东西 export const theme createMuiTheme typography fontFamily Open Sans sans seri
  • iPhone SDK,如何获取周五20:00的NSDate对象?

    有谁知道如何获取下周五 20 00 的 NSDate 吗 Yes 本文教你如何获取当前周的星期日 我很快将其调整为周五 20 00 假设采用公历 NSDate today NSDate alloc init NSCalendar grego
  • 在使用 CefSharp 加载远程 JavaScript 时修改它们?

    我正在构建一个自定义浏览器作为远程网站界面的一部分 他们的 GUI 很糟糕 所以我做了一些 JavaScript 修改来让它看起来更好 目前 为了修改其 UI 我使用以下 GreaseMonkey 脚本 在 Firefox 上 UserSc
  • Python 中的吉他弦代码? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我对 Python 很陌生 但对编写可以模拟吉他弦的代码非常感兴趣 我该怎么做呢 或者至少我该如何开始这样做 任何帮助表示赞赏 谢谢你 EDIT 我想看看演奏不同的琴弦 音符等时
  • 使用 D3 的 Geojson 地图仅渲染要素集合中的单个路径

    我正在尝试绘制哥伦比亚某些地区的 geojson 地图 目前它只显示一条路径 我的特征集有 52 个特征 但我只能绘制这一个特征 我不知道我做错了什么 我的代码基于其他教程 我怎样才能显示所有路径 var features mapData
  • 查找字符串中的多个 url。

    resource THIS IS ABOUT WWW JONAKCOMPUTERS COM HTTP HIGHLOW COM AND TESTINGSERVER1 COM 我想将三个网址提取到另一个类似于以下内容的字符串中 all urls