2026, 새로운 도약을 시작합니다.

php preg_match_all 문자열에서 특정 문자열 추출 후 배열로 리턴하기

php preg_match_all  문자열에서 특정 문자열 추출 후 배열로 리턴하기

preg_match_all전역 정규 표현식 매치를 수행합니다

int preg_match_all ( string $pattern , string $subject , array &$matches [, int $flags [, int $offset ]] )​

pattern : 탐색할 문자열 패턴.
subject : 입력 문자열.
matches : 모든 매치의 배열. flags에 따라서는, 다차원 배열.


<?php
// \\2는 역참조의 예제입니다. 이는 PCRE가 정규표현식 자체의
// 두번째 괄호를 가르키며, 이 경우에는 ([\w]+)입니다.
// 문자열이 더블 쿼터(")안에 있을 경우에는 백슬래시가 하나 더 필요합니다.
$html = "<b>bold text</b><a href=howdy.html>click me</a>";

preg_match_all("/(<([\w]+)[^>]*>)(.*?)(<\/\\2>)/", $html, $matches);

foreach ($matches as $val) {
  echo "matched: " . $val[0] . "\n";
  echo "part 1: " . $val[1] . "\n";
  echo "part 2: " . $val[3] . "\n";
  echo "part 3: " . $val[4] . "\n\n";
}
?> 


출력:


matched: <b>bold text</b>
part 1: <b>
part 2: bold text
part 3: </b>

matched: <a href=howdy.html>click me</a>
part 1: <a href=howdy.html>
part 2: click me
part 3: </a>

리턴값으로는 매칭된 개수를 리턴하게 되고

matches 변수에 매칭된 문자열들이 배열로 저장되게 됩니다.

 

|

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.
번호 분류 제목 글쓴이 날짜 조회
5402 MySQL 6일 전 조회 24
5401 JavaScript 3주 전 조회 117
5400 MySQL 1개월 전 조회 225
5399 PHP 2개월 전 조회 471
5398 PHP 2개월 전 조회 354
5397 PHP 2개월 전 조회 286
5396 기타 5개월 전 조회 560
5395 PHP 6개월 전 조회 1,197
5394 MySQL 7개월 전 조회 794
5393 웹서버 9개월 전 조회 986
5392 1년 전 조회 1,314
5391 11개월 전 조회 1,320
5390 11개월 전 조회 1,114
5389 10개월 전 조회 1,032
5388 10개월 전 조회 1,173
5387 9개월 전 조회 963
5386 JavaScript 9개월 전 조회 1,150
5385 웹서버 9개월 전 조회 1,170
5384 JavaScript 10개월 전 조회 992
5383 기타 11개월 전 조회 1,417
5382 기타 11개월 전 조회 662
5381 JavaScript 11개월 전 조회 1,078
5380 기타 11개월 전 조회 834
5379 JavaScript 11개월 전 조회 832
5378 1년 전 조회 1,399
5377 기타 1년 전 조회 941
5376 jQuery 1년 전 조회 641
5375 jQuery 1년 전 조회 872
5374 기타 1년 전 조회 950
5373 MySQL 1년 전 조회 982
🐛 버그신고