2014-11-19 1 views
1

나는 스팅을 저장하는 곳이지만 디스패닝하는 동안 특수 문자를 <과 같은 HTML 이름으로 변환하려면 &lt이됩니다. 그것을 달성하기 위해, 나는 PHP inbuilt 함수 htmlspecialchars를 사용하고 있습니다. 이 기능 텍스트의htmlspecialchars가 PHP를 디코딩하지 않습니다.

출력이 될 reviewTxt를 들어, 이제 코드를

$reviewTxt = htmlspecialchars($reviewTxt); 
echo $reviewTxt; 

을 다음과 같이 이루어진다는 I loved you &lt;3을 생산해야하지만, 원래의 텍스트를 표시해야한다, '나는 당신에게 < 3 사랑'. 필자의 경우 인코딩 된 데이터 I loved you &lt;3을 표시합니다. 나는 또한 위의 PHP 코드 대신 I loved you &lt;3을 붙여 넣으려고했는데 원래 텍스트를 얻을 수 있는지, 예, '나는 당신을 사랑했음을 보여줍니다. < 3'을 보여줍니다. 당신이 htmlspecialchars()/htmlentities() 두 번 인코딩하는 것처럼 내가 놓친 게 무엇인지 확실하지 않다

+1

'<'에서'>'(으) 로의 변환은 웹 브라우저에서 수행해야합니다. PHP 스크립트의 출력을 보려면 웹 브라우저를 사용하고 있습니까? – mti2935

답변

1

것 같습니다.

그러면 첫 번째 결과의 & 기호가 두 번째 결과에 인코딩되어 I loved you &amp;lt;3과 같은 문자열이 표시됩니다.

따라서 인코딩 된 문자 & 다음에 litteral string lt;이 표시됩니다.

+1

그래. 내 잘못이야. 끝난. –

관련 문제