2013-07-24 3 views
0

문자열의 HEX 문자 코드를 식별하고 "화면에 보이는 것과 같은"동등한 것으로 변환하기 위해 일부 PHP 코드 작업 중입니다. 주로 HEX 코드는 é, ç 등의 악센트 부호가있는 문자입니다. 예를 들어HEX 코드를 HEX 문자 코드로 변환하는 PHP 함수

,이 같은 문자열 수신하고 있습니다 :

$ str을 = "카페 & #의 xe9s을"; - 9 이후에 세미콜론이 있습니다 (이 텍스트 편집기를 변환하지 않으려면이 코드를 제거해야합니다.)

문자열의 16 진수 부분은 & # xe9입니다. 다시 말하면 세미콜론을 사용해야합니다.

다음 PHP 코드는 작동하지만 각 HEX 코드에 대해 하나씩 작성해야합니다.이 코드는 "화면에 보이는 것과 동일하게"이 경우 "é"로 변환됩니다. 그 중 성적이있다

키워드 = $ 않는 str_replace ("& #의 xe9", "E", $ 키워드). 다시 니들 부 세미콜론 갖는다]

누구든지 알려진 HEX 코드의 문자열을 스캔하여 동등한 디스플레이로 변환 할 수있는 기존 PHP 함수를 제안 할 수 있습니까?

그렇지 않으면 UTF8에서 작업하고 있습니다.

내 용어가 아마추어로 들리면 유감스럽게 생각합니다.

제임스

답변

2

http://www.php.net/manual/en/function.html-entity-decode.php

이 관련 문자 그것에 대해

$keywords = html_entity_decode($keywords); 
+0

감사합니다, 그래 내가 한 경이로 HTML 엔티티로 변환되지만 출력은 물음표 작은 블랙 다이아몬드를 보여주는 , 예. caf s, 이것이 인코딩과 관련이 있다고 생각합니까? – James

+0

이것을 브라우저에 출력한다면 어째서 엔티티 디코드를 사용해야합니까? –

+0

마커스, 출력은 브라우저로 가고 또한 MySQL DB에 저장됩니다. 나는 완전히 다른 이유 때문에 문자열에서 세미콜론을 제거해야하므로이 코드를 해독해야합니다. 따라서이 코드가 손상됩니다. – James