Автоматическое скрытие ссылок в Dle параметром -hide-

  • Автор темы nulledzzz
  • Дата начала
N

nulledzzz

Автоматическое скрытие ссылок в DLE параметром -hide-
есть DataLife Engine v.8.0 Null MID-Team.
Суть проблемы - нужно в награбливаемых граббером рсс полных новостях автоматически скрывать параметром hide ссылки на скачивание.
Как это сделать?
 
V

vital

Парсить сраницы на предмет ссылок(Регулярные выражения в помощь ну или руками..) а потом перед ней и после нее ставить тег)В чем вопрос-то??
 
N

nulledzzz

мне посоветовали:
Найти в DLE файл parse.class.php. В нем поиском найти < noindex >. Там будет функция, обрамление ссылок в ноиндекс. От нее и пляши, там все просто.
тег [ hide ] [ /hide ] известен ??
регуляркой вылавливаешь url в новости и тоже регуляркой например заменяешь на выражение
[ hide ] url [ /hide ]
я нашёл файл parse.class.php. В нем нашёл <noindex> - функция- обрамление ссылок в ноиндекс.
вот. и добавил тэг hide, но ничего не получается(
получился вот такого рода код:

 
V

vital

Пля.. а мне вот нечего делать кроме как ковырять пару тысяч строк дле для того что бы найти какое-то твое изменение которое ты даже не откомментировал?? Выкладывай код на форум. А совет тебе правильный дали. Я тебе тоже самое написал. Регуляркой ищи ссылки и обрамляй.

ТОЛЬКО! Я бы тебе советовал смотреть не здесь, а найти место где происходит обработка сообщения(статьи или что там тебе надо) и там уже парси сообщение. Если не знаешь как составит регулярку для ссылки - так и пиши сюда. Впрочем, в этом файле там есть пример..

И еще. Нашел вот такую штуку..
Код:
$txt = preg_replace( "#<noindex><a href=[\"'](http://|https://|ftp://|ed2k://|news://|magnet:)?(\S.+?)['\"].*?" . ">(.+?)</a></noindex>#", "[url=\\1\\2]\\3[/url]", $txt );

Это твоих рук дело?

ПС.
Один маалеьнкий вопорс.. Ты вообще что-нить в php понимаешь?
 
N

nulledzzz

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

Код:
$txt = preg_replace( "#<a href=[\"']mailto:(.+?)['\"]>(.+?)</a>#", "[email=\\1]\\2[/email]", $txt );
$txt = preg_replace( "#<noindex><hide><a href=[\"'](http://|https://|ftp://|ed2k://|news://|magnet:)?(\S.+?)['\"].*?" . ">(.+?)</a></hide></noindex>#", "[url=\\1\\2]\\3[/url]", $txt );
$txt = preg_replace( "#<a href=[\"'](http://|https://|ftp://|ed2k://|news://|magnet:)?(\S.+?)['\"].*?" . ">(.+?)</a>#", "[url=\\1\\2]\\3[/url]", $txt );


и

Код:
	if ($this->safe_mode AND !$config['allow_search_link'])
return "<noindex><hide><a href=\"" . $url['html'] . "\" " . $target . " rel=\"nofollow\">" . $show . "</a></hide></noindex>" . $url['end'];
else
 

Вложения

  • parse.class.php
    43,7 КБ · Просмотры: 219
V

vital

пиэйч пи не понимаю (
Вот это стоило указывать СРАЗУ. Ответы были бы другими.
Код:
$txt = preg_replace( "#(http://|https://|ftp://|ed2k://|news://|magnet:)?(\S.+?)['\"].*?" . "(.+?)#", "[url=\\1\\2]\\3[/url]", $txt );

То что ты изменял - убери и верни оригинал. И в это месте добавь вышенаписанное. Потом отпишись работает ли.
 
V

vital

Составить другую регулярку=) сори, просто времени не было ответить.. Отпишусь чуть позже) А вообще, за это время уже мог бы и сам почитать нужную книжку и составить.
 
N

nulledzzz

Необходимо полную новость в DLE 8.0 автоматически скрывать параметром hide. Как это сделать?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!