PHP 정규식 연습: 이미지 링크 일치

WBOY
풀어 주다: 2023-06-23 08:40:01
원래의
1593명이 탐색했습니다.

웹 개발 과정에서 기사에서 이미지 링크를 추출하여 이미지를 표시하거나 로컬에 저장해야 하는 경우가 종종 있습니다. 이때 정규표현식은 중요한 도구가 됩니다. 이 기사에서는 PHP 정규식을 사용하여 이미지 링크를 일치시키는 방법을 소개하고 샘플 코드를 통해 실습을 수행합니다.

1. 이미지 링크 일치 규칙

매우 복잡하고 변경 가능한 웹 페이지에서는 이미지 링크 형식이 다양합니다. 다음은 몇 가지 일반적인 이미지 링크 형식입니다.

  1. 상대 경로 형식

  1. 절대 경로 형식

  1. 클래스, 너비, 높이 및 기타 속성을 사용한 형식

  1. 작은따옴표 또는 큰따옴표로 형식 지정

  1. 접미사가 다른 형식이 포함되어 있습니다



위 형식 기준 , 일반적인 일치 규칙을 다음과 같이 요약할 수 있습니다:

/?src=['"](.?(?:gif|jpg|jpeg|bmp|png ))['"].* ?>/i

그 중 정규식에 포함된 의미 중 일부는 다음과 같습니다.

  • : 태그와 일치하며 태그 내에서 가능합니다. 다른 속성.
  • src=['"](.*?(?:gif|jpg|jpeg|bmp|png))['"]: src 속성 값과 일치하며 속성 값은 큰따옴표나 작은따옴표로 묶어야 합니다. , 동시에 여러 접미사를 지원합니다.
  • .*?: 태그의 다른 속성을 일치시키는 데 사용됩니다.
  • i: 대소문자를 구분하지 않음을 나타냅니다.

2. PHP 코드를 사용하여 이미지 링크 일치

다음으로 PHP를 사용하여 이미지 링크를 일치시킵니다.

  1. preg_match 함수를 사용하여 단일 이미지 링크를 일치시킵니다.

preg_match 함수는 단일 문자열에 대해 정규식 일치를 수행하는 데 사용됩니다. 다음은 단일 이미지 링크를 일치시키는 PHP 코드입니다.

<?php
$str = '<img src="../images/picture.jpg" class="picture" width="100" height="100">';
$pattern = '/<img.*?src=['"](.*?(?:gif|jpg|jpeg|bmp|png))['"].*?>/i';
preg_match($pattern, $str, $matches);
echo $matches[1];
?>
로그인 후 복사

위 코드의 출력은 다음과 같습니다.

../images/picture.jpg

  1. preg_match_all 함수를 사용하여 여러 이미지 링크를 일치시키세요

The preg_match_all 함수는 문자열 집합에 대해 정규식 일치를 수행하는 데 사용됩니다. 다음은 여러 이미지 링크를 일치시키는 PHP 코드입니다.

<?php
$str = '
<img src="../images/picture.jpg" class="picture" width="100" height="100">
<img src="http://www.example.com/images/picture.jpg">
<img src="http://www.example.com/images/picture.png">
<img src="http://www.example.com/images/picture.gif">
';
$pattern = '/<img.*?src=['"](.*?(?:gif|jpg|jpeg|bmp|png))['"].*?>/i';
preg_match_all($pattern, $str, $matches);
print_r($matches[1]);
?>
로그인 후 복사

위 코드의 출력 결과는 다음과 같습니다.

Array
(

[0] => ../images/picture.jpg
[1] => http://www.example.com/images/picture.jpg
[2] => http://www.example.com/images/picture.png
[3] => http://www.example.com/images/picture.gif
로그인 후 복사

)

3. 요약

이 기사에서는 PHP 정규식을 사용하여 다음을 수행하는 방법을 소개합니다. 그림 링크를 매칭하고 실습을 위한 샘플 코드를 제공합니다. 실제 개발에서는 필요에 따라 정규식의 일치 규칙을 수정할 수 있습니다. 동시에 이미지 표시, 다운로드, 저장 등의 작업에 일치하는 이미지 링크를 사용할 수도 있습니다.

위 내용은 PHP 정규식 연습: 이미지 링크 일치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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