Архив за месяц: Февраль 2009

WordPress и wp-noexternallinks

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

Мне на глаза попался плагин wp-noexternallinks, который все ссылки пропускает через файл goto.php, для чего нужно пставить плагин, активировать, настроить его и прописать в .htpaccess строчку преобразования url-а (все это написано в документации).

Я поставил его, сделал все как написано, но при нажатии ссылки сначала выдавались некии ошибки на странице редиректа (goto.php) потом происходил редирект на испорчнеый адрес (к адресу добавлялася символ ; ).

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

<?php
header(‘Content-type: text/html; charset=»utf-8″‘,true);
$url=$_SERVER[‘QUERY_STRING’];
if($url)
{
$url=’http://’.urldecode($url);
@header(‘Location: ‘.$url);
}
?>
<html>
<head>
<title></title>
<meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″ />
<meta name=»robots» content=»noindex,nofollow» />
<?php if($url) echo ‘<meta http-equiv=»refresh» content=»0; url=’.$url.'» />’; ?>
</head>
<body style=»margin:0;»>
Redirecting…
</body>
</html>

С таки файлом редирект работает правильно и без ошибок.

Код для вырезки из текста THML тэгов.

Некоторые скажут  что есть стандартная функция, для вырезки  ВСЕХ HTML тэгов… а я предлагаю Вам код который вырезает только указанные тэги, или оставляет только указанные тэги.

Это может быть полезно, например для вырезки ненужных тэков в комментариях.

/**
* Allow these tags
*/
$allowedTags = ‘<h1><b><i><a><ul><li><pre><hr><blockquote>’;

/**
* Disallow these attributes/prefix within a tag
*/
$stripAttrib = ‘javascript:|onclick|ondblclick|onmousedown|onmouseup|onmouseover|’.
‘onmousemove|onmouseout|onkeypress|onkeydown|onkeyup’;

/**
* @return string
* @param string
* @desc Strip forbidden tags and delegate tag-source check to removeEvilAttributes()
*/
function removeEvilTags($source)
{
global $allowedTags;
$source = strip_tags($source, $allowedTags);
return preg_replace(‘/<(.*?)>/ie’, «‘<‘.removeEvilAttributes(‘\\1′).’>'», $source);
}

/**
* @return string
* @param string
* @desc Strip forbidden attributes from a tag
*/
function removeEvilAttributes($tagSource)
{
global $stripAttrib;
return stripslashes(preg_replace(«/$stripAttrib/i», ‘forbidden’, $tagSource));
}

Новый раздел — В помощь PHP программисту.

С сегодняшнего дня  я начинаю новую рубрику — В помощь PHP программисту.

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

Миранда и новый протокол ICQ

АОЛ опять на днях сменил протокол, а я так привык к Mirande и не хочю от нее отказываться, хотябы потому что привык и у меня там вся история общения.

Кто также не хочет переходить на другие клинеты — качаем новую DLLку для ICQ. У меня работает.