>백엔드 개발 >PHP 튜토리얼 >PHP 정규 표현식: HTML의 모든 이미지와 링크를 일치시키는 방법

PHP 정규 표현식: HTML의 모든 이미지와 링크를 일치시키는 방법

王林
王林원래의
2023-06-23 11:32:321643검색

인터넷의 대중화로 인해 웹페이지 제작과 웹사이트 개발은 수요가 많은 산업이 되었습니다. 웹페이지 제작에 있어 그림과 링크는 필수적인 요소인데, 정규식은 이러한 요소를 처리하는데 매우 유용합니다. 이 기사에서는 PHP 정규 표현식을 사용하여 HTML의 모든 이미지와 링크를 일치시키는 방법을 보여줍니다.

1. 그림 일치

HTML에서는 일반적으로 a1f02c36ba31691bcfe87b2722de723b 태그를 사용하여 그림을 소개하며 형식은 다음과 같습니다. a1f02c36ba31691bcfe87b2722de723b 标签引入,其格式如下:

<img src="图片路径" alt="替代文字">

为了匹配所有的图片,我们需要匹配所有的 a1f02c36ba31691bcfe87b2722de723b 标签,并从中提取出图片路径。我们可以使用以下正则表达式进行匹配:

$pattern = '/<img.*?src=["']?(.*?)["'].*?>/i';

该正则表达式的作用是:

  • 1d0a94b69819f080670a8fe502661b4a:匹配 a1f02c36ba31691bcfe87b2722de723b 开始标签。
  • src=["']?:匹配 src 属性。
  • (.*?):使用非贪婪模式匹配图片路径。
  • ["'].*?>:匹配 src 属性值之后的其他属性,以及 a1f02c36ba31691bcfe87b2722de723b 结束标签。

下面是一个简单的 PHP 代码示例:

$html = '12';
$pattern = '/<img.*?src=["']?(.*?)["'].*?>/i';
preg_match_all($pattern, $html, $matches);
$images = $matches[1];
print_r($images);

输出结果为:

Array
(
    [0] => 1.jpg
    [1] => 2.jpg
)

可以看到,我们成功匹配出了 HTML 中的所有图片路径。

二、匹配链接

链接也是网页中不可或缺的元素,通常使用 3499910bf9dac5ae3c52d5ede7383485 标签实现。其格式如下:

<a href="链接地址">链接文字</a>

我们需要匹配 3499910bf9dac5ae3c52d5ede7383485 标签,并从中提取出链接地址和链接文字。可以使用以下正则表达式进行匹配:

$pattern = '/<a.*?href=["']?(.*?)["'].*?>(.*?)</a>/i';

该正则表达式的作用是:

  • 55784847ccfa800f7f23a4af7651bca8:匹配 3499910bf9dac5ae3c52d5ede7383485 开始标签。
  • href=["']?:匹配 href 属性。
  • (.*?):使用非贪婪模式匹配链接地址。
  • ["'].*?>:匹配 href 属性值之后的其他属性。
  • (.*?)5db79b134e9f6b82c0b36e0489ee08ed
    $html = '百度谷歌';
    $pattern = '/<a.*?href=["']?(.*?)["'].*?>(.*?)</a>/i';
    preg_match_all($pattern, $html, $matches);
    $urls = $matches[1];
    $names = $matches[2];
    print_r($urls);
    print_r($names);
  • 모든 그림을 일치시키려면 다음을 수행해야 합니다. 모든 a1f02c36ba31691bcfe87b2722de723b 태그와 일치하고 여기에서 이미지 경로를 추출합니다. 일치를 위해 다음 정규식을 사용할 수 있습니다.
Array
(
    [0] => http://www.baidu.com
    [1] => http://www.google.com
)
Array
(
    [0] => 百度
    [1] => 谷歌
)

이 정규식의 역할은 다음과 같습니다.

  • 1d0a94b69819f080670a8fe502661b4a: 5811a0e55f5c071c3af8b2b3e8fe348d 시작 태그입니다.

  • src=["']?: src 속성과 일치합니다.
  • (.*?): 비 사용 -탐욕스러운 패턴 일치 이미지 경로.

  • ["'].*?>: src 속성 값 뒤의 다른 속성과 일치하고 5811a0e55f5c071c3af8b2b3e8fe348d 닫는 태그입니다.

    다음은 간단한 PHP 코드 예입니다.

    rrreee

    출력 결과는 다음과 같습니다. 🎜rrreee🎜 보시다시피 HTML의 모든 이미지 경로를 성공적으로 일치시켰습니다. 🎜🎜2. 링크 일치🎜🎜링크도 웹페이지에서 없어서는 안 될 요소이며, 일반적으로 3499910bf9dac5ae3c52d5ede7383485 태그를 사용하여 구현됩니다. 형식은 다음과 같습니다. 🎜rrreee🎜 3499910bf9dac5ae3c52d5ede7383485 태그를 일치시키고 여기에서 링크 주소와 링크 텍스트를 추출해야 합니다. 일치를 위해 다음 정규식을 사용할 수 있습니다. 🎜rrreee🎜이 정규식의 역할은 다음과 같습니다. 🎜
    • 55784847ccfa800f7f23a4af7651bca8: 0714e4b00e7fe69e750fcabba5e71b4f: href 속성 값 뒤의 다른 속성과 일치합니다. 🎜
    • (.*?)5db79b134e9f6b82c0b36e0489ee08ed: 탐욕스럽지 않은 패턴을 사용하여 링크 텍스트와 닫는 태그를 일치시킵니다. 🎜🎜🎜다음은 간단한 PHP 코드 예입니다. 🎜rrreee🎜출력 결과는 다음과 같습니다. 🎜rrreee🎜 보시다시피 HTML의 모든 링크 주소와 링크 텍스트를 성공적으로 일치시켰습니다. 🎜🎜3. 요약🎜🎜PHP 정규 표현식을 사용하면 HTML의 이미지와 링크를 쉽게 일치시킬 수 있으므로 웹 페이지 제작 및 웹 사이트 개발 작업이 크게 단순화됩니다. 물론 실제 개발에서는 프로그램의 안정성과 보안을 보장하기 위해 정규식의 최적화와 오류 처리에 주의를 기울여야 합니다. 🎜

위 내용은 PHP 정규 표현식: HTML의 모든 이미지와 링크를 일치시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.