개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.29 07:16

ctype_punct 함수에 관해 질문합니다

목록
  • 백엔드도령 3일 전 2025.03.29 07:16
  • 4
    1
제가 ctype_punct 함수를 사용하여 특정 문자가 문장 부호인지 여부를 확인하는 코드를 작성중입니다.

문자열이 문장 부호인지 확인하는 코드를 작성하였는데, 특정 문자가 문장 부호인지 여부를 정확하게 판단하지 못하는 문제가 있습니다.

예를 들어, "!"와 "?"는 문장 부호입니다. 하지만, ctype_punct('!')과 ctype_punct('?')의 결과가 다르게 나타납니다.

ctype_punct 함수의 사용법을 알려주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  3일 전



    ctype_punct 함수는 ASCII 문자셋에서만 문장 부호를 확인할 수 있습니다. 따라서, 특정 문자가 문장 부호인지 여부를 확인할 때는 ASCII 문자셋을 고려해야 합니다.

    예를 들어, "!"와 "?"는 ASCII 문자셋에 포함되어 있기 때문에 ctype_punct 함수로 문장 부호로 확인할 수 있습니다. 그러나, 한글의 문장 부호인 "!"은 ASCII 문자셋에 포함되어 있지 않기 때문에 ctype_punct 함수로 문장 부호로 확인할 수 없습니다.

    만약 한글의 문장 부호를 확인하고 싶다면, 한글의 문장 부호를 별도로 정의하여 확인해야 합니다. 예를 들어, "!", "?"와 같은 ASCII 문자셋의 문장 부호와 "!", "?"와 같은 한글의 문장 부호를 별도로 정의하여 확인할 수 있습니다.

    한글의 문장 부호를 확인하기 위해, 다음과 같이 코드를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    function is_punctuation($char) {
    
        $punctuations = array("!", "?", "!", "?", "ㆍ", "ㆍ", "!", "?", "!", "?");
    
        return in_array($char, $punctuations);
    
    }
    
    
    
    print(is_punctuation("!") ? "True" : "False");  // True
    
    print("n");
    
    print(is_punctuation("?") ? "True" : "False");  // True
    
    print("n");
    
    print(is_punctuation("ㆍ") ? "True" : "False");  // True
    
    


    이 코드에서는 한글의 문장 부호를 별도로 정의하여 확인합니다. 만약 특정 문자가 문장 부호인지 여부를 확인하고 싶다면, 이 코드를 참고하여 한글의 문장 부호를 별도로 정의하여 확인할 수 있습니다.

    2025-03-29 07:17

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 8,154건 / 22 페이지

검색

게시물 검색