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

王林
풀어 주다: 2023-06-23 14:02:01
원래의
1633명이 탐색했습니다.

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

1. 그림 일치

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

<img src="图片路径" alt="替代文字">
로그인 후 복사

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

$pattern = '/<img.*?src=["']?(.*?)["'].*?>/i';
로그인 후 복사

该正则表达式的作用是:

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

下面是一个简单的 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 中的所有图片路径。

二、匹配链接

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

<a href="链接地址">链接文字</a>
로그인 후 복사

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

$pattern = '/<a.*?href=["']?(.*?)["'].*?>(.*?)</a>/i';
로그인 후 복사

该正则表达式的作用是:

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

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

  • <img.*?>: < img> 시작 태그입니다.

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

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

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

    rrreee

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

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿