html의 구문들을 그대로 유지해서 화면에 보여주기 위해 htmlspecialchars를 사용합니다. html 태그를 브라우저가 해석할 수 없도록 구분자들을 대체문자로 치환시킵니다. 그리고 그렇게 치환된 결과물은 사용자가 볼때 html 구문 그대로 보여지게 됩니다.
이렇게 htmlspecialchars 치환된 내용을 다시 브라우저에서 읽어들일 수 있도록 변경하는 방법도 있습니다. 물론 str_replace 로 치환된 문자를 다시 변경 할 수 있겠지만 항상 그렇듯 예외 상황이 발생할 수 있습니다.
내부 함수가 존재하니 str_replace를 사용할 일이 없습니다. htmlspecialchars_decode를 이용하면 쉽게 html 을 브라우저가 읽을 수 있도록 변환할 수 있습니다.