Dubrowsky
Хроники одного дупла
Блогово  →  SEO  → 

Блочный вывод ссылок Sape - ломается кодировка на кириллических доменах

16 Апреля 2013 года

У меня тут сегодня утром ощутимая пачка ссылок сапы (которые я размещаю как вебмастер) упала в ERROR. Стал смотреть, чего там - все ссылки с кириллическим доменом (какойто-сайт.рф) и блочным способом размещения. Скорее всего глюк временный, но я на всякий случай починил на скорую руку. Решение из 7 строчек под катом.

Собственно, проблема заключается в том, что имя домена и текст ссылки приходят в разных кодировках. Анкор и околоссылочный текст - в UTF-8, а домен - в windows-1251.

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

Предполагается, что файл с этим кодом сохранен в кодировке windows-1251:

// вот так получаем блок ссылок
$block_html = $sape->return_block_links(3, 0, array(
		'block_orientation' => 0, 
		'block_no_css' => true
));

// найдем в нем все последовательности буков в windows-1251
// и заменим на такие же, но в utf-8
$block_html = preg_replace_callback(
	"~[а-я]+~i", 
	function($matches) {
		return iconv('windows-1251', 'utf-8', $matches[0]);
	}, 
	$block_html
);

После этого в $block_html должен оказаться HTML-код, пригодный для вывода на экран, целиком в utf-8.

Обратите внимание, в качестве коллбэка используется анонимная функция. Это значит, что для PHP < 5.3 нужно преобразовать ее в не-анонимную и вызвать по имени. Ха-ха, лузеры, обновитесь уже :)

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

Сегодня в рубрике "культура и обычаи современных хипстеров" мы поговорим о суевериях. Хотя хипстеры считают себя прогрессивными представителями социума, за счет своей инфантильности они зачастую оказываются очень суеверны. Вчера в магазине "Республика" молодые люди рассуждали о совместимости полов по гороскопу (почитать про совместимость можно тут: http://azodiak.ru/muzhchina-oven-i-zhenshhina-strelec-sovmestimost), в частности прозвучало утверждение, что мужчина-хипстер-овен вполне может ужиться с женщиной-хипстером-стрельцом. Что ж, совет да любовь, че!

Камменты

Дуброн самый17.04.2013, 13:54#
А кстати до сих пор не работает =)
Юрий04.05.2013, 00:29#
Спасибо за мануал , мой сайт http://mj-fan.ru/
Костя03.10.2013, 19:11#
Спасибо, уже перешел на php 5.3
seoonly.ru22.06.2014, 13:00#
У меня 5.5 стоит
Вячеслав04.08.2014, 11:03#
Тоже 5.5
Вова Черепков10.02.2017, 20:41#
Никогда не покупал ссылки в сапе, только в ротапост, там качество намного лучше. В добавок рекомендую книгу прочитать всем SEO на экспорт от Topodin

Написать коммент: памятка постеру

 

Крутые посты wtf??? →

15.03.2012 · 21 каммент · рейтинг 8.87
08.02.2008 · 25 камментов · рейтинг 7.27
02.03.2012 · 12 камментов · рейтинг 6.68
05.02.2008 · 18 камментов · рейтинг 6.16
19.07.2012 · 9 камментов · рейтинг 6.01

Последне камменты

21.05.2017  Vadim GukОбработка кликов и цели в Яндекс.Метрике, улучшенный вариант: Большое спасибо за решение задачи.
20.05.2017  ДмитрийТестовое задание для PHP-программиста (Junior): А джуны ещё нужны у вас в компании?
18.04.2017  ДубрОбработка кликов и цели в Яндекс.Метрике, улучшенный вариант: Вячеслав, блин, я там скобку потерял =) Обновил, ...
17.04.2017  Вячеславтам же: вот http://www.totalat.ru/service/remont-akpp-bmw/
17.04.2017  Вячеславтам же: Вашу версию вставил. Даже alert проверочный вывод...

Статсы