- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Парсю RSS-файл, отдающийся в UTF-8, перекодирую с помощью iconv в 1251 - на выходе текст без пробелов. Вернее часть пробелов все же остается - между знаками препинания и текстом, между цифрами и текстом, а между словами пропадают. В чем хитрость, кто подскажет? А то не кодер я совсем.
а в самом файле пробелы на месте?
[umka], да, в самом файле на месте. Собственно, сам файл - это рсс-лента микроблога в твиттере.
тут только два варианта:
или всё-таки кривые данные на входе
или глючный iconv на сервере
[umka] добавил 01.12.2010 в 13:55
кстати, если rss идёт xml-файлом, и там в нём указана кодировка (например: <?xml version="1.0" encoding="utf-8"?>), а вы берёте, да и конвертируете файл в cp1251 с помощью iconv, то перед тем, как парсить xml, необходимо параметр encoding заменить.
[umka], я меняю не кодировку файла, а кодировку выводимой строки. На самом деле, сейчас я обратил внимание, что проблема возникает еще до этапа перекодировки - при парсинге. Я использую XML Parser Functions.
Стало быть, первый вариант :) "или всё-таки кривые данные на входе"
Воспользовался SimpleXML, проблема исчезла. [umka], спасибо за участие=)
сам файл - это рсс-лента микроблога в твиттере
Есть такая бага в связке апи твиттера и XML Parser.
Лечится XML_OPTION_SKIP_WHITE ставится в 0, правда могут возникнуть ошибки с пустыми строками, поэтому сначала надо создать DOMDocument без пробелов между тэгами.
Рабочий пример:
function xmlParser($xmlData){
$returnValue = array();
if(!is_array($xmlData)){
$dom = new DOMDocument();
$dom->preserveWhiteSpace = false;
$dom->loadXML($xmlData);
$xmlData = $dom->saveXML();
$rawXml = $xmlData;
$parser = xml_parser_create();
xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 0);
//и т.д.
}
Ёхан Палыч, cпасибо, учту на будущее.