Extra Form
PHP PHP 7.2
CMS Rhymix 2.0

먼저 밑의 스크립트가 있습니다.

<script>
        function displayStoredText() {
            var storedText = '<center>이것은 <u>글씨</u>입니다. <font color="red">aaa</font>'; 
            document.getElementById("textContainer").innerHTML  = storedText;
        }
        window.onload = displayStoredText;
</script>

이렇게 스크립트를 작성하면 HTML로 잘 표시가 됩니다.

 

그런데 확장변수에 값(<center>이것은 <u>글씨</u>입니다. <font color="red">aaa</font>)

을 입력하고 해당 값을 가지고 오면

<script>
        function displayStoredText() {
            var storedText = '{$oDocument->getExtraValueHTML(1)}'; 
            document.getElementById("textContainer").innerHTML  = storedText;
        }
        window.onload = displayStoredText;
</script>

HTML 적용이 안되고 태그가 그대로 포함이 되어서 출력 되네요

방법이 없을까요?

 

  • profile

    getExtraValueHTML은 HTML에 그대로 집어넣더라도 입력한 내용 그대로 표시되도록 특수문자를 모두 인코딩해서 나옵니다. 태그를 쓰면 태그 그대로 보이는 거죠.

     

    원본 그대로 갖고 와서 가공하려면 getExtraValue를 사용해 보세요.

  • profile
    $oDocument->getExtraValueHTML() 메서드는 특수기호를 이스케이프해서 값을 반환합니다.

    htmlspecialchars_decode() 함수를 이용해서, 이스케이프한 특수기호를 원상 복구시키면 됩니다.
    단, HTML 태그로 인한 보안취약점이 생길 수 있으니 주의하세요.
  • profile
    두분 답변 감사합니다. (__)