웹 개발에서 HTML은 필수 요소입니다. 하지만 HTML 태그 없이 HTML에서 일반 텍스트를 추출해야 하는 경우도 있습니다. 이때 정규식은 매우 편리한 도구이다.
PHP에서는 preg_replace() 함수를 사용하여 HTML 태그를 제거할 수 있습니다. 이 함수의 사용법은 다음과 같습니다.
preg_replace($pattern, $replacement, $subject);
여기서 $pattern은 정규식 패턴, $replacement는 대체 문자열, $subject는 처리할 문자열입니다. 아래에서 설명하는 것처럼 $pattern과 $replacement는 모두 배열이 될 수 있습니다.
다음으로 HTML 태그를 제거하기 위한 몇 가지 일반적인 정규 표현식에 대해 논의하겠습니다.
$pattern = '/<[^>]*>/'; $replacement = ''; $text = preg_replace($pattern, $replacement, $html);
이 정규식에서 12c23ae3b2b4ec1cb4b79acea8b7761b 태그가 있는 모든 텍스트를 찾아 제거합니다. (?s) 토큰은 개행 문자를 포함한 모든 문자와 일치함을 의미합니다. 이 표현식은 가능한 한 적은 수의 문자와 일치하는 *?를 사용하므로 욕심이 없습니다.
$pattern = '/<style[^>]*>(.*?)</style>/is'; $replacement = ''; $text = preg_replace($pattern, $replacement, $html);
이 정규식은 c9ccee2e6ea535a969eb3f532ad9fe89 태그가 있는 모든 텍스트를 일치시켜 제거합니다. (?s) 마커와 *?는 이전 예와 비슷한 방식으로 사용됩니다.
$pattern = '/<([a-z]+)(?:s+[^>]+)?>(s*)</>/i'; $replacement = ''; $text = preg_replace($pattern, $replacement, $html);
이 정규 표현식은 빈 태그를 찾아서 제거합니다. (s*)는 모든 공백 문자와 일치합니다. ?: 비캡처 그룹을 나타냅니다. 즉, 일치하지만 대체되지는 않음을 의미합니다.
$pattern = '/>s+</'; $replacement = '><'; $text = preg_replace($pattern, $replacement, $html);
이 간단한 정규식은 두 태그 사이의 공백 문자를 일치시키고 단일 공백으로 바꿉니다.
요약하자면 이러한 정규식은 HTML 태그를 제거할 때 자주 사용됩니다. 물론 HTML 태그를 제거하는 방법에는 여러 가지가 있습니다. 최종 선택은 특정 요구 사항과 코드 구현 방법에 따라 다릅니다.
위 내용은 정규식을 사용하여 PHP에서 HTML 태그를 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!