안녕하세요

 

해보다 해보다...해보다... 도저히 모르겠어서 지혜를 구하려고 글남겨 봅니다.

 

댓글에 숫자를 넣고 그 숫자들의 합을 구하려고 하는데

 

textarea 에 입력된 값이 문자형식이라 그런지 연산이 안되더라구요.

 

그래서 (int)$comment->getContent(false) 로 해보았는데 출력되는 값이 0 으로 나오네요...

 

혹시 댓글 textarea 값에 숫자만 입력하고 그 값들을 더할 수 있는 방법이 있을까요?

 

아시는분 계시면 알려주시면 정말 감사드리겠씁니다.

  • profile
    내용이 정확히 어떤 형식으로 들어가 있는지 (태그나 공백까지 포함해서) 정확하게 보여주셔야 그 중에서 숫자만 추출하는 법을 알 수 있겠습니다. 더하는 건 그 다음에 할 일이고요.
  • profile profile
    가진곰님 안녕하세요 관심 갖어주셔서 감사합니다.^^;
    그냥 게시판에 댓글(지금 이글을 적고 있는 이곳)에 숫자만 입력 받고
    한게시물에 달린 댓글(숫자만 입력)들의 합을 출력해보려고 합니다.

    예를 들어 게시물 아래 댓글에

    첫번째 댓글 입력 값 : 1
    두번째 댓글 입력 값 : 2
    세번째 댓글 입력 값 : 3

    일경우 댓글에 적힌 숫자들의 합인 "6"을 출력하려고 합니다.
  • profile
    숫자만 입력한 것처럼 보이더라도 getContent()를 사용하면 XE 자체적으로 앞뒤에 태그를 붙이는 등 내용이 다소 가공될 수 있습니다. 그러면 (int)를 해도 숫자가 안 나오겠죠. 그래서 그게 정확히 어떤 형식으로 들어가 있는지 확인해 보시라고 말씀드린 거예요. 예를 들면 <p>1</p>라든지 2<br />라든지 이렇게 들어가 있을 수도 있습니다.

    일단 숫자를 추출하는 데 성공한다면 댓글 출력하는 루프 맨 위에서 $total이라는 변수를 0으로 선언한 후, 댓글마다 $total = $total + 댓글숫자값; 이렇게 더하고 마지막에 $total을 출력하는 식으로 진행하시면 됩니다. 그러나 댓글에서 숫자를 추출하는 것이 우선입니다.
  • profile profile
    확인해보니...

    <!--BeforeComment(10876,4)--><div class="comment_10876_4 xe_content">123</div><!--AfterComment(10876,4)-->

    이런 엄청난 것들이....달려있네요...ㅠㅠ;;;
    어떻게 없애야할까요...;; 산넘어산이네요 ㅠㅠ
  • profile profile

    $comment->get('content')로 DB 저장값을 직접 불러와 보세요. 그러면 이상한 주석들은 다 없어질 거예요.
    이렇게 해서 숫자만 보인다 해도 앞뒤에 공백이 있을 수 있으니 trim() 정도는 한번 해주는 게 좋습니다.

  • profile profile
    strip_tags 함수를 쓰니 해결되었습니다. 감사합니다. ㅠㅠ