2017-04-03 2 views
2

Blogger를 통해 Facebook 피드 대화 상자에 일부 Malayalam 텍스트를 공유하려고하지만 일부 문제가 있습니다. 여기에 문제가 있습니다. 블로그 게시물의 HTML 부분에서 피드 대화 코드를 직접 사용하고 있기 때문에 최종 텍스트가 블로거에 의해 자동으로 유니 코드 십진수로 변환되고 Facebook은 같은 읽을 수없는 형식으로 텍스트를 표시합니다.유니 코드 텍스트가 십진수로 변환 됨 - Blogger

예 위의 코드에서

function FBShareOp(){ 
var name = 'ഇതൊരു ടെസ്റ്റ് പോസ്റ്റാണ്' 
var description = "ഇതൊരു ടെസ്റ്റ് പോസ്റ്റാണ്" 
var share_image = 'IMAGE LINK '; 
var share_url = 'URL'; 
var share_capt = 'ഇതൊരു ടെസ്റ്റ് പോസ്റ്റാണ്'; 

그래서, 나는 사용자 정의 말라 얄 람어 텍스트 ഇതൊരു ടെസ്റ്റ് പോസ്റ്റാണ്를 사용하고 있는데 게시물이 게시 된 후, 블로거 ഇതൊരു ടെസ്റ്റ് പോസ്റ്റാണ്에 텍스트를 변환하고 페이스 북은 정확히 같은 텍스트를 표시 그.

어떻게 작동시킬 수 있습니까? 블로거가 그런 식으로 포맷하는 것을 원하지 않습니다. 페이스 북에서 제대로 표시 할 수 있도록 서식을 지정하지 않고 해당 텍스트를 게시 할 수있는 방법이 있습니까? 미리 감사드립니다.

답변

0

Blogger에서 사용하는 XML 구문 분석기가 특정 문자를 이스케이프 처리하기 때문에 이러한 현상이 발생합니다. 탈출하기에서 컨텐츠를 막을 방법은 내 그것을 둘러싸는 것입니다 - 게시물 편집기

<![CDATA[ 
... Your code ... 
]]> 

그러나 내부, 위의 방법이 작동하지 않습니다. 대신 JavaScript 함수를 통해 엔티티를 디코딩해야합니다 (following answer에서 설명). 코드가 다음과 같이 변경됩니다. -

<script> 

    var decodeEntities = (function() { 
    // this prevents any overhead from creating the object each time 
    var element = document.createElement('div'); 

    function decodeHTMLEntities(str) { 
     if(str && typeof str === 'string') { 
     // strip script/html tags 
     str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, ''); 
     str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, ''); 
     element.innerHTML = str; 
     str = element.textContent; 
     element.textContent = ''; 
     } 

     return str; 
    } 

    return decodeHTMLEntities; 
    })(); 

    function FBShareOp(){ 
    var name = decodeEntities('ഇതൊരു ടെസ്റ്റ് പോസ്റ്റാണ്'); 
    var description = decodeEntities("ഇതൊരു ടെസ്റ്റ് പോസ്റ്റാണ്"); 
    var share_image = 'IMAGE LINK '; 
    var share_url = 'URL'; 
    var share_capt = decodeEntities('ഇതൊരു ടെസ്റ്റ് പോസ്റ്റാണ്'); 
    } 

</script> 
+0

안녕하세요. Prayag, 답장을 보내 주셔서 감사합니다. 여기 나를 위해 일하지 않습니다. 그래도 그런 형식의 텍스트입니다. 블로거 블로그에서 테스트하고 확인해 주시겠습니까? 미리 감사드립니다. 게시물 HTML에서 코드를 직접 사용하고 블로그 테마 btw에서는 사용하지 않습니다. –

+0

이 Blogger 블로그의 HTML 소스 (http://saifyv1.blogspot.com/)를 확인하십시오. 맨 위에 코드 인스턴스가 표시됩니다. CDATA가 있으면 탈출이 일어나지 않는다는 것을 알 수 있습니다. –

+0

예. 알겠습니다. 나는 내 블로그에서 다시 확인하고있다. 너에게 다시 돌아갈 게. 감사합니다. –