2013-08-02 3 views
1

고객 중 일부는 Google 웹 마케팅 코드를 웹 사이트에 추가하려고하며이를위한 패널이 필요합니다.strip_tags()를 사용하여 CDATA를 제거하지 않으려는 경우

strip_tags을 사용하여 코드에서 불필요한 태그를 제거했지만 (보안상의 이유로) CDATA도 제거되었습니다.

어떻게 제외시킬 수 있습니까?

샘플 리 마케팅 코드 :

<script type="text/javascript"> 
    /* <![CDATA[ */ 
var google_conversion_id = 123456789; 
var google_conversion_label = "AAAAAAAAAAAAAAAAAAA"; 
var google_custom_params = window.google_tag_params; 

var google_remarketing_only = true; 

/* ]]> */ 
</script> 
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js"> 
</script> 
<noscript> 
<div style="display:inline;"> 
<img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/123456789/?label=AAAAAAAAAAAAAAAAAAA&guid=ON&script=0"/> 
</div> 
</noscript> 

PHP 코드 :

$userContent = addslashes(strip_tags($data["analytics_code"],'<script><noscript><img><div>')); 

출력이 그런 식이다 :

<script type="text/javascript"> 
    /* */ 
</script> 
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js"> 
</script> 
<noscript> 
<div style="display:inline;"> 
<img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/123456789/?label=AAAAAAAAAAAAAAAAAAA&guid=ON&script=0"/> 
</div> 
</noscript> 

감사

답변

1

불행하게도 strip_tags()은 라스입니다 어쩌면 기능면에서 간단합니다. 또한 정규식은 HTML, XML 등이 일반 언어의 클래스에 맞지 않기 때문에 HTML을 구문 분석 할 수 없습니다. 즉, HTML/XML 파서를 사용하여 필요한 정보를 추출합니다.

+0

커뮤니티를 처음 사용하신 분 : 답변이 만족 스럽다면 "수락"기능을 사용하여 답변을 수락하고 평가 점수를 올린 사람에게 평판을 부여하십시오. 나중에 더 나은 대답을 찾으면 항상 수락 플래그를 변경할 수 있습니다. – Janoszen

관련 문제