Спецсиволы и парсинг

Тема в разделе "Как сделать...", создана пользователем Uglik, 19 май 2012.

  1. Uglik

    Uglik

    Регистр.:
    8 окт 2008
    Сообщения:
    350
    Симпатии:
    14
    Здравствуйте

    Написал парсер проблемы с юникодом.
    Получаю страницу функция file_get_contents(). Потом с помощью регулярку получаю необходимую строку и на выходе What to Expect When You're Expecting вместо What to Expect When You're Expecting.
    Вопросы:
    На каком этапе спецсимволы преобразуються в вид ' ?
    Как перобразовать их в человеческий вид ?
     
  2. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    312
    на выдаче в браузер могут, а может и раньше
    Перейти по ссылке
    а также не забыть флаг ENT_QUOTES
    Перейти по ссылке
     
    Uglik нравится это.
  3. Uglik

    Uglik

    Регистр.:
    8 окт 2008
    Сообщения:
    350
    Симпатии:
    14
    что то ничего не получаеться

    PHP:
    $str ''';
    $result html_entity_decode($strENT_QUOTES);
    echo 
    $result;
    Исходный код и тоже самое что и было
    Одинарные ковычки это '
    А в моем примере они почему то '
     
  4. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    312
    да, есть такой глюк, в таком случае надо еще encoding поставить UTF-8, т.е.
    PHP:
    $str ''';
    $result html_entity_decode($strENT_QUOTES,'UTF-8');
    echo 
    $result;
    т.к. ' - это то же самое, что и &#x27, только в десятичной и 16-ричной кодировках соответственно
     
    Uglik нравится это.
  5. Uglik

    Uglik

    Регистр.:
    8 окт 2008
    Сообщения:
    350
    Симпатии:
    14
    Решил проблему еще вот таким способом:
    Код:
    function replace_special($string){
     
    $string = preg_replace('/&.*?;/s', '-', $string);
    return $string;
     
    }
     
  6. Uglik

    Uglik

    Регистр.:
    8 окт 2008
    Сообщения:
    350
    Симпатии:
    14
    столкнулся дальше с такими трудностями . Русский текст Люди в Чёрном
    Как перекодировать в человеческий вид данные строки по средством php
     
  7. a_n_d_y

    a_n_d_y

    Регистр.:
    26 мар 2006
    Сообщения:
    465
    Симпатии:
    61
    А че в ней не так? В браузере она нормально отобразится.
     
  8. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    312
    как я уже и говорил
    PHP:
    $result html_entity_decode($strENT_QUOTES,'UTF-8');
     
  9. Uglik

    Uglik

    Регистр.:
    8 окт 2008
    Сообщения:
    350
    Симпатии:
    14
    В том, что эти данные еще будут Обрабатываться...
     
  10. Uglik

    Uglik

    Регистр.:
    8 окт 2008
    Сообщения:
    350
    Симпатии:
    14
    Вот результат Люди РІ Чёрном