2010-12-31 4 views
0

Вот небольшой пример некоторого тестового кода, который просто идет кPHP/не локон возвращаются корректные данные

http://www.un.org/apps/news/story.asp?NewsID=37180&Cr=Haiti&Cr1=

и тянет в указанном веб-странице.

<?php 
    $url = "http://www.un.org/apps/news/story.asp?NewsID=37180&Cr=Haiti&Cr1="; 
    $curl = curl_init(); // initialize curl handle 
    curl_setopt($curl, CURLOPT_URL, $url); // set url to post to 
    curl_setopt($curl, CURLOPT_FAILONERROR, 1); 
    curl_setopt($curl, CURLOPT_COOKIESESSION, TRUE); // since we reuse now 
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);// allow redirects 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // return into a variable 
    curl_setopt($curl, CURLOPT_TIMEOUT, 20); // times out after 20 seconds 
    curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.0) Gecko/20060728 Firefox/1.5.0"); 
    $result = curl_exec($curl); // run the whole process 
    print $result; 

Когда я смотрю на результат, однако, это не совсем то, чего я хочу. Если вы посмотрите в результатах для строки

«гуманитарные должностные лица Организации Объединенных Наций призывают? Массовые мероприятия по мобилизации? В Гаити»

вы можете увидеть два знака вопроса вокруг текста «массовые мероприятия по мобилизации».

Если вы идете к фактическому веб-сайт, вопросительные знаки отображаются в виде пары левшей и правшей кавычки, и это находит свое отражение при просмотре исходного кода с сайта ...

" Гуманитарные чиновники Организации Объединенных Наций призывают к «массовой мобилизационной деятельности» в Гаити »

Я хотел бы знать, как я могу получить двойные кавычки, а не вопросительные знаки, которые я вижу.

Все предложения с благодарностью приняты.

И счастливого Нового года y'all

ответ

1

Ничего общего с PHP, не имеет ничего общего с завитой, даже с ошибкой. Эти «вопросительные знаки» вы упоминание являются ASCII символы 0x93 и 0x94:. открытой двойные кавычки и близкими двойными кавычками я не PHP парня, но если вы хотите регулярных двойных кавычек

str_replace(array(chr(0x93), chr(0x94)),'"',$result) 

должен исправить вас прямо

+0

. Большое спасибо. – Redback

0

Похоже, что «используется в приведенном выше примере это специальный символ, а не нормальный». просмотреть исходный код страницы и скопировать исходный код в блокнот, если он вам покажет? вместо «это означает, что это особый символ, и вам нужно выяснить точный код для этого символа»