Extra Form
PHP PHP 7.0

^^ - 이런 내용으로 요청이 되면 400에러가 뜨는 것을 확인했습니다.

 

실제 브라우저 주소창에는

^^%20

 

이렇게 구성될때 문제가 발생하는 듯 하구요.

 

^^공백 입니다.

 

공백이 붙는것과는 상관없이 ^^ 게 문제가 되네요... 

추가로 확인해봤더니 %5E%5E 로 바뀌어서 주소창에 전달이 되어야 하는 것 같습니다.

 

 

이걸 400에러가 뜨지 않고 등록이 될 수 있도록 회피할 수 있을까요??

 

어떤 문자들이 연결되면 안되는건지 파악할 능력은 되지 않네요. 애드온으로 자동전송할때 안되는 글이 있는걸 이유를 잘 몰랐는데 오늘 스킨에서 직접 공유버튼으로 공유를 하니 에러를 브라우저화면에서 확인할 수 있어서 확인이 되었습니다.

 

preg_replace('/[\pZ\pC]+/u', ' ', html_entity_decode(strip_tags(내용)))

 

어제 질문을 통해 위의 것으로 아주 필요한 텍스트만 잘 뽑아낼 수 있었습니다.

 

^^ 정도는 흔히 사용되는 상황이라서요. 이것을 제외시킬 수는 없을 것 같구요.

 

 

 

  • ?
    $value = "^^";
    echo str_replace("^^", "%5E%5E", $value);

    이걸로 가능하지 않을까요?
  • ? profile
    이것 하나만의 문제는 아닐 것 같습니다. 제가 발견한 게 ^ 인거구요. 근본적인 해결을 해야 할 것 같습니다.
  • profile
    똑같은 문자 ^ 이 제목에 들어가 있는 경우는 $oDocument->getTitleText() 이것으로 가져와서 %5E 주소창으로 전달이 되어서 이상이 없습니다.
  • profile
    #이 들어가면 400에러를 반환하지는 않지만 이후 문자는 잘려버리네요.
  • profile ?
    이상하네요..;;
  • ? profile
    %5E 이런식으로 전달이 되어야 하는것 같습니다. post 방식 등 주소창에.. 기술적으로는 저도 잘 모릅니다.
  • profile
    rawurldecode() 를 한번 써봐야겠습니다.
  • ?

    제목에^^ 요거 넣고 써보면 되는거죠? to sns로 해보니까 트윗 전송 됩니다. 이게 맞다면

    왜 되는지는 몰라요^^; 

  • ? profile

    to sns 는 될거에요. 제가 내용부분을 따로 불어오는걸 추가해서 거기서 불러올때 인코딩이 문제가 되는 듯 하구요.

  • profile
    역시 rawurldecode() 로 한번 변환해주니 잘 되네요~~
    애드온의 경우 어떤 케이스때 전송에 실패하는지도 살펴봐야겠네요.