> 백엔드 개발 > PHP 튜토리얼 > PHP에서 두 문자열 사이의 콘텐츠를 효율적으로 추출하는 방법은 무엇입니까?

PHP에서 두 문자열 사이의 콘텐츠를 효율적으로 추출하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-07 05:02:11
원래의
595명이 탐색했습니다.

How to Efficiently Extract Content Between Two Strings in PHP?

PHP에서 두 문자열 사이의 콘텐츠 가져오기

PHP에서 두 문자열 사이의 콘텐츠를 추출하는 가장 좋은 방법은 특정 요구 사항에 따라 다릅니다. 다음은 두 가지 일반적인 접근 방식입니다.

1. 출력 버퍼링

출력 버퍼링은 스크립트의 출력을 버퍼에 저장하여 문자열로 액세스할 수 있도록 합니다. 이 접근 방식은 다른 스크립트의 출력을 조작하거나 외부 파일을 포함하려는 경우에 유용합니다.

예:

ob_start();
include('externalfile.html');
$out = ob_get_contents();
ob_end_clean();

preg_match('/{FINDME}(.|\n*)+{\/FINDME}/',$out,$matches);
$match = $matches[0];

echo $match;
로그인 후 복사

2. 문자열 조작

이 접근 방식은 strpos 및 substr과 같은 내장 문자열 함수를 사용하여 원하는 콘텐츠의 시작 위치와 끝 위치를 검색합니다.

예:

$startsAt = strpos($out, "{FINDME}");
$endsAt = strpos($out, "{/FINDME}", $startsAt);
$result = substr($out, $startsAt + strlen("{FINDME}"), $endsAt - $startsAt - strlen("{/FINDME}"));
로그인 후 복사

어떤 접근 방식을 취해야 할까요? 사용하시겠습니까?

  • 출력 버퍼링: 다른 스크립트의 출력으로 작업하거나 외부 파일을 포함해야 할 때 적합합니다.
  • 문자열 조작: 더 효율적이고 유연하지만 시작 및 끝 위치를 수동으로 찾아야 합니다. content.

추가 참고 사항:

  • 두 접근 방식 모두 시작 또는 끝 문자열을 찾을 수 없는 극단적인 경우를 처리해야 합니다.
  • 정규 표현식에서 .|n*을 사용하는 것은 모든 문자나 새 문자와 일치하므로 정확합니다. line.
  • file_get_contents를 사용하여 외부 파일의 내용을 검색할 수 있지만 스크립트 출력 작업을 위한 출력 버퍼링과 동일한 유연성을 제공하지는 않습니다.

위 내용은 PHP에서 두 문자열 사이의 콘텐츠를 효율적으로 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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