php使用正则表达式获取字符串中的URL

下面是具体步骤和示例说明:

1. 利用PHP内置函数获取HTML字符串

在使用正则表达式前,我们需要先获取HTML字符串。可以使用PHP内置的函数,如file_get_contents或curl等。

$htmlStr = file_get_contents('http://www.example.com');

2. 构建正则表达式

构建正则表达式是本次攻略的重点,因为不同的网页结构有不同的标记和规则。

以下是一个基本的URL匹配正则表达式示例:

preg_match_all('/(http[s]?:\/\/[^\s]*)/i', $htmlStr, $match);

该正则表达式的含义是:匹配以http或https协议开头的URL。

3. 执行正则匹配

接下来,我们使用preg_match_all函数执行正则匹配。

preg_match_all('/(http[s]?:\/\/[^\s]*)/i', $htmlStr, $match);

函数的第一个参数是正则表达式,第二个参数是待匹配的文本,第三个参数是匹配结果数组。上述代码执行后,$match会返回一个二维数组,包含了所有匹配到的URL。

4. 获取匹配结果

我们可以使用foreach循环遍历$match数组,获取所有匹配到的URL。

foreach($match[0] as $url) {
    echo $url . "<br/>";
}

示例说明

以下是一个示例:使用php获取一篇博客的HTML字符串,然后提取其中的所有图片链接。

// 获取博客HTML字符串
$htmlStr = file_get_contents('https://www.example.com/blog/123');

// 构建匹配图片链接的正则表达式
preg_match_all('/<img.*?src="(.*?)".*?>/is', $htmlStr, $match);

// 遍历所有匹配结果,输出链接
foreach($match[1] as $imgUrl) {
    echo $imgUrl . "<br/>";
}

以下是另一个示例:使用php获取一个网站的HTML字符串,然后提取其中的所有外部链接。

// 获取网站HTML字符串
$htmlStr = file_get_contents('https://www.example.com');

// 构建匹配外部链接的正则表达式
preg_match_all('/(http[s]?:\/\/[^\s]*)/i', $htmlStr, $match);

// 遍历所有匹配结果,输出链接
foreach($match[0] as $url) {
    echo $url . "<br/>";
}

以上就是使用php正则表达式获取字符串中URL的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php使用正则表达式获取字符串中的URL - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • PHPUnit安装及使用示例

    PHPUnit是PHP开发中最流行的单元测试框架之一。本文将为你介绍PHPUnit的安装及基本使用方法。 安装PHPUnit PHPUnit需要在PHP环境下运行。如果你使用的是macOS或者Linux系统,可以通过终端安装PHPUnit。在终端输入以下命令即可: composer require –dev phpunit/phpunit 如果你使用的是W…

    PHP 2023年5月23日
    00
  • Yii2框架整合Xunsearch搜索引擎的方法

    1. 准备工作 首先,我们需要准备好Yii2框架以及Xunsearch搜索引擎。在这里,我们假定读者已经了解Yii2框架和Xunsearch搜索引擎的基本知识,并已经下载和安装好它们。 2. 安装Yii2的Xunsearch搜索引擎扩展 接下来,我们需要安装Yii2的Xunsearch搜索引擎扩展,其名称为yiisoft/yii2-xunsearch。可以通…

    PHP 2023年5月26日
    00
  • PHP实现的文件上传类与用法详解

    PHP实现的文件上传类与用法详解 介绍 在Web应用程序中,文件上传是一个极其普遍的功能需求。PHP提供了方便的文件上传功能来处理这个需求。然而,PHP自带的文件上传功能并不是十分完善。因此,我们需要使用第三方的类来实现更多自定义的功能。本文将介绍一个PHP实现的文件上传类以及如何使用它。 下载 我们可以从GitHub上下载这个PHP文件上传类。 开始使用 …

    PHP 2023年5月26日
    00
  • php绘图之加载外部图片的方法

    如何在 PHP 中加载外部图片并且进行绘图呢?这里提供两种方法:使用 GD 库和使用 Imagick 库。 使用 GD 库 使用 GD 库,你可以使用 PHP 在一张图片上绘制基本的形状、文字、边框等等。接下来是使用 GD 绘制一张图片,并在其上添加另一张图片的示例代码: <?php // 创建一个画布 $image = imagecreatetrue…

    PHP 2023年5月30日
    00
  • 又十个超级有用的PHP代码片段

    好的!首先我们需要明确一下,这个“十个超级有用的PHP代码片段”是指什么? 这其实是一个常见的文章类型,旨在介绍一些常用的PHP代码片段,它们可以用于不同的场景,具有很高的实用性。一般分为“数组操作”、“字符串处理”、“时间日期处理”等几个部分,每个部分会包含多个具体的代码示例。 所以,如果你想撰写这样一篇文章,你需要先确定你的目标读者是谁,比如是PHP初学…

    PHP 2023年5月24日
    00
  • PHP 事务处理数据实现代码

    当我们需要对数据库中的数据进行修改时,通常是需要保证数据的完整性和一致性的,而实现这种要求最常见的方法就是事务处理。在 PHP 中,我们可以使用 mysqli 或 PDO 等数据库扩展来实现事务处理。下面就是 PHP 事务处理数据实现代码的完整攻略: 1. 确定事务处理的数据操作 在进行事务处理之前,需要明确需要执行的数据操作的范围,这包括数据的修改、插入和…

    PHP 2023年5月24日
    00
  • PHP操作数组相关函数

    下面是PHP操作数组相关函数的完整攻略。 什么是数组 PHP数组是一种特殊类型的变量,可以存储多个值,每个值都有一个对应的索引,这个索引可以是数字或字符串。数组通常用于存储数据集合,如一组用户信息,一组选项等等。 数组的创建与初始化 在PHP中,可以使用array、[]或array()函数创建数组。如下所示: //使用array函数创建数组: $arr1 =…

    PHP 2023年5月26日
    00
  • PHP有序表查找之插值查找算法示例

    一、概述 PHP有序表查找之插值查找算法是一种优化的二分查找算法,适用于数据分布较为均匀的数组。其原理是通过公式计算出待查找元素在有序表的位置估计值,从而可以缩小查找范围,提高查找效率。 二、算法思路 计算待查找元素在有序表中的位置估计值,公式如下: $$mid=low+\frac{(key-a[low])*(high-low)}{(a[high]-a[lo…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部