>백엔드 개발 >PHP 튜토리얼 >정규식을 사용하여 HTML 태그 내에서 개행 문자를 어떻게 일치시키나요?

정규식을 사용하여 HTML 태그 내에서 개행 문자를 어떻게 일치시키나요?

DDD
DDD원래의
2024-11-02 01:55:311004검색

How Do I Match Newline Characters within HTML Tags Using Regular Expressions?

정규 표현식과 개행 문자 일치

개행 문자가 있는 태그입니다. 표준 정규식 .*는 이러한 개행 문자를 인식하지 못합니다.

이 문제를 해결하려면 점(.)이 개행을 포함한 모든 문자와 일치하도록 허용하는 DOTALL 수정자(일명 /s)를 활용하십시오. 다음 표현식을 사용해 보세요.

'/<div>(.*)<\/div>/s'

그러나 탐욕스러운 일치는 원하는 결과를 얻지 못할 수도 있습니다. 탐욕스럽지 않은 일치 사용을 고려하세요.

'/<div>(.*?)<\/div>/s'

또는 다른 태그가 없는 한 '<'를 제외한 모든 항목과 일치할 수 있습니다.

'/<div>([^<]*)<\/div>/s'

기억하세요. '/' 이외의 문자를 구분 기호(예: '#')로 사용하면 태그 내에서 '/'를 이스케이프 처리할 필요가 없어 가독성이 향상됩니다. 다음은 '#'이 포함된 예입니다.

'#<div>([^<]*)<\/div>'

이러한 옵션에도 불구하고 복잡한 HTML을 처리할 때 정규식의 제한 사항을 인식하는 것이 중요합니다. 중첩된 div, 추가 공백 및 기타 복잡성으로 인해 정규식 구문 분석이 불안정해질 수 있습니다. 보다 정확한 구문 분석을 위해 대신 HTML 구문 분석기를 사용하는 것이 좋습니다.

위 내용은 정규식을 사용하여 HTML 태그 내에서 개행 문자를 어떻게 일치시키나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.