2017-02-16 3 views
0

html 디코딩에 대한 질문이 있습니다.html 엔티티/특수 문자 디코드

WordPress의 gravityforms 플러그인을 사용하여 양식을 관리하고 있습니다. formtitle에는 웹 사이트의 이름이 포함됩니다. 이번 주에 특수 문자에 버그가있어서 부호가 &으로 사서함에 표시되고있었습니다. html specialcharacters 디코드를 사용하여이 문제를 해결했습니다. 나중에 ' 기호와 유사한 버그가있는 것으로 보입니다. 분명히 html_specialcharacersdecode가 그 코드와 호환되지 않으므로 html_entities_decode도 시도 했으므로 ' 부호에도 작동하지 않습니다.

다른 징후는 < >() : -=+과 같이 완벽하게 디코딩되므로 문제가 무엇인지 실제로 알지 못합니다. ''으로 표시하고 &#039;이 아닌 것으로 표시하기 만하면됩니다.

내 코드 :

function before_email($email) { 
     $subject = htmlspecialchars_decode($email['subject']); 
     $subject = html_entity_decode($subject); 
     $email['subject'] = '$subject'; 
     return $email; 
    } 

내 구체적인 질문은 : 여기없는거야 뭔가가 있나요? 어쩌면 일부 기능이 내가 시도한 기능과 비슷하거나 다른 점이 있습니까?

감사합니다. 데이터베이스에 삽입하기 전에

+0

예 html_entity_decode ($ subject)를 사용할 수 있습니다. –

답변

1

당신은 사용할 수

$subject = html_entity_decode($subject, ENT_QUOTES); 

그러나, 나는 HTML 인코딩에 대해 조언한다. 출력 할 때 인코딩하면됩니다. 원시 데이터를 데이터베이스에 저장하는 것이 좋습니다.

+0

감사합니다 !!!! 이것은 트릭을했다. 그리고 충고에 감사드립니다. 나는이 경우 어떻게해야하는지 정말로 모른다. 나는 그것이 데이터베이스에 정직하게 저장되어 있다고 생각하지 않고, 메일 서버로 간다. 고마워요! :) – Maartje

+0

나의 기쁨, 나는 기쁘다. @Maartje –

+0

예, 그렇게 할 수 없었습니다. stackoverflow에 따라 너무 빨리이기 때문에 응답했습니다.) – Maartje