2014-06-24 2 views
0

I 작동이 코드 외부 사이트에서 페이스 북의 메타 태그를 당기는 해요 :사이트의 메타 태그를 읽은 후 특수 문자 변환

$site = file_get_contents($link); 
$html = new DOMDocument(); 
@$html->loadHTML($site); 
$meta_title = null; 
foreach($html->getElementsByTagName('meta') as $meta) { 
    if($meta->getAttribute('property')=='og:title'){ 
     $meta_title = $meta->getAttribute('content'); 
    } 
} 
echo 'og:title: '.$meta_title; 

내 문제는 그 og의 경우 : 제목이 뭔가를 포함 예를 들어 아포스트로피 (a apostrophe)는 많은 펑키 문자를 출력합니다.

Thatâ € ™ s의 스팟 대신

: 예를 들어, 스팟에게의

어떻게 그것을 정확하게 출력해야합니까?

+0

@를 사용하지 마십시오. 오류를 확인하십시오. – Phantom

+0

@Phantom @을 제거하고 오류보고 기능을 켜기 만했습니다. 이것은 내가 작업하고있는 URL입니다. http://www.vnews.com/home/12496336-95/thats-the-spot – user2250471

답변

1

utf-8 또는 라틴어로 된 세 번째 파트 웹 사이트 데이터 정렬을 확인하십시오.

그런 다음 웹 사이트 데이터 정렬로 변환해야합니다. 뭐라구? utf8 또는 라틴어?

당신이 UTF8, 라틴 세 번째 부분을 사용하는 경우에는 라틴어와 세 번째 부분의 UTF8을 사용하는 경우, 당신은

utf8_encode($actualVar) 

를 사용해야합니다, 당신은

utf8_decode($actualVar) 

내가 거기에 가정 사용해야합니다 2 그것을 통치하는 다른 조합. 있는 두 UTF8이 너무 UTF8로 당신의 PHP 헤더를 변환하는 경우 :

header('Content-Type: text/html; charset=utf-8'); 

당신이 어떤 방식으로 작동한다 벽으로

header('Content-Type: text/html; charset=iso-8859-1'); 

를 사용 라틴어 (ISO-8859-1)을 사용하려는 경우.

0

이 솔루션에는 PHP 파일 맨 위에 UTF-8 인코딩 메타 태그가 포함되어있었습니다.

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />