웹마스터 팁
모바일(또는 textarea형)에서 댓글 수정시 줄바꿈 유지되도록 수정
2014.07.17 04:56
원본출처 : http://sejin7940.co.kr/index.php?mid=xe_tips&document_srl=100137
해당 버그는 github 에 PR 해뒀으니, 추후 패치될 수도 있습니다
================================
모바일(또는 textarea형)에서 댓글 수정시 줄바꿈 유지되도록 수정
1.
모바일에서는 댓글을 등록할때는, 줄바꿈이 인식되나
해당 댓글을 수정하여 등록 (update) 하면, 줄바꿈이 다 사라져버리고 한 줄로 나타난다.
Core 의 comment 모듈에서 insertComment 에 있는 이 부분관련 소스가 updateComment 에 빠져 있기 때문이다.
modules/comment/comment.controller.php 에서
function updateComment 함수에서
$obj->content = preg_replace('!<\!--(Before|After)(Document|Comment)\(([0-9]+),([0-9]+)\)-->!is', '', $obj->content);
아래에다가 추가해주면 된다.
if(Mobile::isFromMobilePhone())
{
if($obj->use_html != 'Y')
{
$obj->content = htmlspecialchars($obj->content, ENT_COMPAT | ENT_HTML401, 'UTF-8', false);
}
$obj->content = nl2br($obj->content);
}
2. 모바일 스킨에서, 댓글수정 창에서 <br /> 태그가 나오는 경우..
textarea 에 있는, {$oComment->getContentText()} 대신에 아래문구를 기재
{strip_tags(str_replace("<br />","",htmlspecialchars_decode($oComment->getContentText())))}
ps. 추가적으로, 모바일 스킨에서 글 수정시 <br /> 태그가 나오는 경우에는
textarea 에 있는, {$oDocument->getContentText()} 대신에 아래문구를 기재
{strip_tags(str_replace("<br />","",htmlspecialchars_decode($oDocument->getContentText())))}
덕분에 있던 버그 하나 잘 수정했습니다. 일단 추천부터.. :D
두번째에 <br /> 태그가 나오는 경우,
{strip_tags(str_replace("<br />","",htmlspecialchars_decode($oComment->getContentText())))} 를 넣으면
<br /> 태그는 안나오지만, 제대로 디코드 안되는 이유는 무엇때문인지 알 수 있을까요?
붙어나오는 상태에서 <br /> 태그만 사라졌습니다.