본문 바로가기

PHP에서 <span> 태그를 제거하는 정규식

반응형

PHP에서 <span> 태그를 제거하려면 정규식을 사용하여 태그를 제거할 수 있습니다. 아래는 PHP에서 <span> 태그를 제거하는 방법입니다.

<?php
$text = '<span class="datetime">2024-11-08 02:08:17</span>';
$cleaned_text = preg_replace('/<span[^>]*>(.*?)<\/span>/', '$1', $text);
echo $cleaned_text;
?>

설명:

  • preg_replace 함수는 정규식을 이용해 문자열을 치환하는 함수입니다.
  • /로 감싸진 부분이 정규식입니다.
  • <span[^>]*>는 <span> 태그를 의미하며, 그 안에 있는 속성들을 포함할 수 있습니다. [^>]*는 >가 나올 때까지 모든 문자를 매칭합니다.
  • (.*?)는 <span>과 </span> 사이에 있는 텍스트를 캡처하는 부분입니다.
  • </span>은 닫는 </span> 태그입니다.
  • $1은 캡처된 텍스트, 즉 <span> 태그 사이의 내용을 반환하도록 합니다.

출력:  2024-11-08 02:08:17

이 방법은 특정 <span> 태그만 제거하고 그 안의 텍스트는 유지합니다.

만약 HTML에서 모든 태그를 제거하고 싶다면 앞서 언급한 <[^>]+> 정규식을 사용할 수 있습니다.

 

<span> 태그와 그 안의 내용을 모두 제거하려면, 다음과 같은 정규식을 사용할 수 있습니다

<?php
$text = '<span class="datetime">2024-11-08 02:08:17</span>';
$cleaned_text = preg_replace('/<span[^>]*>.*?<\/span>/', '', $text);
echo $cleaned_text;
?>

설명:

  • preg_replace 함수는 정규식을 사용하여 문자열을 치환하는 함수입니다.
  • /로 감싸진 부분이 정규식입니다.
  • <span[^>]*>는 <span> 태그를 의미하며, 그 안에 있는 속성들을 포함할 수 있습니다. [^>]*는 >가 나올 때까지 모든 문자를 매칭합니다.
  • .*?는 <span>과 </span> 태그 사이의 모든 내용을 의미합니다. *?는 가능한 최소 반복을 의미하여 태그 안의 모든 내용을 정확히 제거합니다.
  • </span>은 닫는 </span> 태그입니다.

이 정규식은 <span> 태그와 그 안의 텍스트 내용을 모두 제거합니다.

반응형

댓글


Copyright ⓒ SmartWeb All rights reserved.