Q&A

더보기 php 코드 문의 드립니다!

2025.01.28 13:27
91
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 8.0
@php
$maxLength = 350;
if(mb_strlen(strip_tags($document->getContent(false))) > $maxLength){
// $content = preg_replace('/<img[^>]*>/', '', $document->variables['content']);
// $shortContent = mb_substr($content, 0, $maxLength) . '...';
$fullUrl = getUrl('document_srl', $document->document_srl); // 문서의 URL 생성
$content = $document->getSummary($maxLength);
$content .= " <a href='" . $fullUrl . "' class='read-more'>더보기</a>";
echo $content;
}else{
// echo '이하';
$content = preg_replace('/<img[^>]*>/', '', $document->variables['content']);
//  echo $document->getContent(false);
echo $content;
}
@endphp

 

안녕하세요!

게시판 목록화면에서 본문 내용을 출력중인데 일정문자수 이상되면 더보기라는 메시지를 출력하려고 합니다

위 코드를 받아서 적용해보려고 하는데

그대로 넣으면 html상에 코드가 전체 노출이 되는 문제가 발생해서요

 

아래와 같이 수정해서 넣었는데
조건문이나 템플릿 문법 등에서 괄호의 짝이 맞지 않아 발생하는 오류입니다. 표시되는 위치는 파일의 맨 마지막 줄이지만, 괄호를 열었던 곳을 찾아 수정해야 합니다.
이렇게 에러가 뜨네요 ㅜ

기초가 없다보니 이런곳에서 막히네요 ㅜㅜ 고수님들 확인 한번 해주실수 있을까요?

 

{@
$maxLength = 350;
if(mb_strlen(strip_tags($document->getContent(false))) > $maxLength){
// $content = preg_replace('/<img[^>]*>/', '', $document->variables['content']);
// $shortContent = mb_substr($content, 0, $maxLength) . '...';
$fullUrl = getUrl('document_srl', $document->document_srl); // 문서의 URL 생성
$content = $document->getSummary($maxLength);
$content .= " <a href='" . $fullUrl . "' class='read-more'>더보기</a>";
echo $content;
}else{
// echo '이하';
$content = preg_replace('/<img[^>]*>/', '', $document->variables['content']);
//  echo $document->getContent(false);
echo $content;
}
}

 

Maxter Lv. 6
반가워요~

댓글 2

  • 2025.01.29 06:00 #1856721
    https://www.php.net/manual/en/control-structures.alternative-syntax.php
    템플릿 문법 내에서 중괄호 사용시 충돌로 {@ } 문 자체가 닫혀 오류가 발생합니다. 위 링크의 대체 문법을 이용하시면 됩니다.

    예)
    if ($a == 5):
    echo "a equals 5";
    echo "...";
    elseif ($a == 6):
    echo "a equals 6";
    echo "!!!";
    else:
    echo "a is neither 5 nor 6";
    endif;
  • 2025.01.29 15:05 #1856761
    YJSoft님 새해 복 많이 받으세요!
    알려주신 내용 덕분에 해결 했습니다 감사합니다!