> 백엔드 개발 > PHP 튜토리얼 > PHP를 사용하여 대괄호로 묶인 여러 텍스트 세그먼트를 추출하는 방법은 무엇입니까?

PHP를 사용하여 대괄호로 묶인 여러 텍스트 세그먼트를 추출하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-05 07:10:14
원래의
982명이 탐색했습니다.

How to Extract Multiple Text Segments Enclosed in Square Brackets using PHP?

PHP에서 대괄호 사이의 여러 텍스트 세그먼트 캡처

질문:

캡처 방법 주어진 대괄호로 묶인 모든 텍스트 세그먼트 문자열?

답변:

대괄호 사이에 여러 텍스트 세그먼트를 캡처하려면 다음 정규식을 사용하십시오.

/\[[^\]]*\]/
로그인 후 복사

이 정규식은 모든 항목과 일치합니다. 대괄호로 시작하고 대괄호가 아닌 문자를 원하는 수만큼 포함하며 대괄호로 끝나는 문자열 브래킷.

캡처된 세그먼트를 추출하려면 preg_match_all() 함수를 사용하세요. 이 함수는 정규식 패턴과 대상 문자열을 입력으로 사용하고 모든 일치 항목이 포함된 배열을 반환합니다. 다음 PHP 코드는 이 정규식을 사용하여 여러 텍스트 세그먼트를 캡처하는 방법을 보여줍니다.

$text = '[This] is a [test] string, [eat] my [shorts].';
preg_match_all("/\[[^\]]*\]/", $text, $matches);
var_dump($matches[0]);
로그인 후 복사

이 코드는 다음 출력을 생성합니다.

array(4) {
  [0] =>
  string(5) "[This]"
  [1] =>
  string(5) "[test]"
  [2] =>
  string(5) "[eat]"
  [3] =>
  string(7) "[shorts]"
}
로그인 후 복사

대괄호 없이 텍스트를 추출하는 대안:

대괄호 안의 텍스트만 추출하려면 다음을 사용하세요. regex:

/\[([^\]]*)\]/
로그인 후 복사

이 정규식은 대괄호로 시작하고 대괄호가 아닌 문자를 포함하며 대괄호로 끝나는 모든 문자열과 일치합니다. 괄호 안의 문자는 괄호를 사용하여 그룹화됩니다.

대괄호 없이 캡처된 세그먼트를 추출하려면 다음 PHP 코드와 같이 첫 번째 캡처 그룹을 사용하십시오.

preg_match_all("/\[([^\]]*)\]/", $text, $matches);
var_dump($matches[1]);
로그인 후 복사

이 코드는 다음과 같은 출력을 생성합니다.

array(4) {
  [0] =>
  string(4) "This"
  [1] =>
  string(4) "test"
  [2] =>
  string(3) "eat"
  [3] =>
  string(6) "shorts"
}
로그인 후 복사

위 내용은 PHP를 사용하여 대괄호로 묶인 여러 텍스트 세그먼트를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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