Собсно, что такое leech - это такой тег в дле, очень полезный (некоторым), он кодирует ссылку в басе 64 и rawurlencode, после чего, фиг поймешь куда она ведет, но скрипт её обрабатывает и по клику на неё переадресовывает куда нужно.
Зачем это нужно?Банальная "жадность" вебмастеров. Они почему-то иногда маниакально боятся поставить хоть одну ссылку со своего сайта на другой сайт, ну там тиц, pr уменьшится, до шло до того, что естественую ссылку, кроме как на форуме, днем с огннем не найдешь.
Ребята, а нафиг это нужно?
"Делитесь и с вами поделяться".
Радует, что это проходит со временем. И действительно, серьезные ресурсы, как правило, не парятся с таким извратом как leech, но если уж он вам нужен, и нужен красивый, то читаем дальше :)
Итак, эту "пакость" генерирует файл engine/classes/parse.class.php
Функция, генерирующая его, называется build_url, но она делает не только эту "пакость", в основном, это полезная функция :)
Собсно, смотрим функцию, не пушаемся :) переделывать все нам не нужно, даже понимать все, что там написано не обязательно :)
Видим такую строку:
return"<!--dle_leech_begin--><a href=\"" . $url['html'] . "\" " . $target . ">" . $show . "</a><!--dle_leech_end-->" . $url['end'];
Вот в ней то и зарыта собака, можно менять как вам нужно, вот например:
return"<!--dle_leech_begin--><a href=\"" . $url['html'] . "\" " . $target . " class=\"leech\">" . $show . "</a><!--dle_leech_end-->" . $url['end'];
Тут мы задали класс самой ссылки
или
return"<div class=\"leech\"><!--dle_leech_begin--><a href=\"" . $url['html'] . "\" " . $target . ">" . $show . "</a><!--dle_leech_end--></div>" . $url['end'];
тут включили её в блок div с нужным классом.
Этот класс ( в примере leech) мы и настраиваем в стилях шаблона,
собсно вот как то так.
upd
Если нужно, чтобы при редактировании уберался тег
и при это лень думать :)
Делаем так:
Найти:
$txt = preg_replace( "#<!--dle_leech_begin--><a href=[\"'](http://|https://|ftp://|ed2k://|news://|magnet:)?(\S.+?)['\"].+?".">(.+?)</a><!--dle_leech_end-->#ie" , "\$this->decode_leech('\\1\\2', '\\3')", $txt );
Заменить:
$txt = preg_replace( "#<div class=\"leech\"><!--dle_leech_begin--><a href=[\"'](http://|https://|ftp://|ed2k://|news://|magnet:)?(\S.+?)['\"].+?".">(.+?)</a><!--dle_leech_end--></div>#ie" , "\$this->decode_leech('\\1\\2', '\\3')", $txt );
Вот что будет:
p.s.
Не забудьте прописать в вашем css параметры класса css.
Например:
.leech {
background: #FEFFBD;
border: 1px dotted rgb(190,190,190);
border-bottom: 0;
color: #222;
font-weight: bold;
font-size: 10px;
margin: 8px auto 0 auto;
padding: 3px;
}