728x90
SMALL
특정 태그 사이의 내용을 추출하기 위해서는 정규식을 사용할 수 있습니다. 다음은 예시 코드입니다.
$regex = "/<tag\b[^>]*>(.*?)<\/tag>/s";
$string = "<tag>내용1</tag><tag>내용2</tag>";
preg_match_all($regex, $string, $matches);
print_r($matches[1]);
위의 코드에서 `<tag>`와 `</tag>` 사이에 있는 내용을 추출하기 위해 다음과 같은 정규식을 사용합니다.
/<tag\b[^>]*>(.*?)<\/tag>/s
해당 정규식은 다음과 같은 역할을 수행합니다.
1. `<tag>`로 시작하는 문자열을 찾습니다.
2. `\b[^>]*`는 태그의 속성을 허용하고, `<`을 제외한 모든 문자열을 허용합니다.
3. `.*?`는 최소한의 문자열을 찾습니다. 이는 태그 안에 다른 태그가 있을 때 태그의 끝을 찾을 때까지 가능한한 적은 문자열을 매칭합니다.
4. `<\/tag>`로 종료하는 문자열을 찾습니다.
위의 예시 코드에서는 `preg_match_all()` 함수를 사용하여 정규식에 일치하는 모든 문자열을 찾습니다. `$matches[1]`에는 정규식에서 `.*?`로 매칭된 문자열이 포함됩니다.
위의 예시 코드에서 `s` 플래그는 "single line" 모드를 활성화합니다. 이 모드에서는 줄바꿈 문자를 무시하고, `.` 메타문자가 줄바꿈 문자도 포함하여 어떠한 문자열이든 매칭하도록 합니다. 이 모드를 사용하지 않으면 여러 줄에 걸쳐 있는 경우 정규식이 작동하지 않을 수 있습니다.
728x90
LIST
'php스쿨' 카테고리의 다른 글
php microtime 함수를 이용하여 웹사용시간 측정 방법 (14) | 2023.07.20 |
---|---|
2017년 아이디어가 생각나 만든 유저유입(각종 로봇유입) 게시판(사이트 접속인원 늘리기) (4) | 2023.05.16 |
PHP에서 특정 문자를 제외한 모든 문자열을 매칭하는 정규식 (4) | 2023.05.15 |
잘못된 PHP 배열 참조 코드 수정하는 정규식 (3) | 2023.05.15 |
댓글