확장변수 text 값을 활용해 HTML로 파싱해 보려고 합니다.
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 7.2 |
먼저 밑의 스크립트가 있습니다.
<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 적용이 안되고 태그가 그대로 포함이 되어서 출력 되네요
방법이 없을까요?
댓글 3
getExtraValueHTML은 HTML에 그대로 집어넣더라도 입력한 내용 그대로 표시되도록 특수문자를 모두 인코딩해서 나옵니다. 태그를 쓰면 태그 그대로 보이는 거죠.
원본 그대로 갖고 와서 가공하려면 getExtraValue를 사용해 보세요.
htmlspecialchars_decode() 함수를 이용해서, 이스케이프한 특수기호를 원상 복구시키면 됩니다.
단, HTML 태그로 인한 보안취약점이 생길 수 있으니 주의하세요.