문자열에서 HTML 특수 문자 제거
RSS 피드를 생성할 때 호환성을 보장하기 위해 HTML 태그와 특수 문자를 제거하는 것이 중요합니다. Strip_tags()는 태그를 효과적으로 제거하지만 HTML 특수 문자 뒤에 남는 경우가 많습니다.
이 문제를 해결하려면 다음 두 가지 잠재적 해결 방법이 있습니다.
html_entity_decode():
이 함수는 HTML 엔터티를 디코딩하고 해당 문자로 대체합니다. 예를 들어 공백으로 변환됩니다.
preg_replace():
정규 표현식을 사용하면 preg_replace()를 사용하면 특정 문자 시퀀스를 제거할 수 있습니다. 다음 패턴은 HTML 특수 문자를 일치시키고 제거합니다.
/&#?[a-z0-9] ;/i
이 패턴은 으로 시작하고 뒤에 오는 시퀀스를 검색합니다. 문자와 숫자의 조합, 세미콜론으로 끝납니다.
이 솔루션을 구현하려면:
$content = preg_replace("/&#?[a-z0-9] ;/i", "", $content);
Jacco의 대안:
주석 섹션에서 Jacco가 제안한 또 다른 옵션은 다음 패턴을 사용하는 것입니다.
/&#?[a-z0-9]{2,8};/i
이 패턴은 특정 문자 범위 내의 시퀀스로 대체하는 것을 제한하여 실수로 발생할 위험을 줄입니다. 인코딩되지 않은 & 문장의 문자.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3