Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Как использовать перекрестные гиперссылки только в нужных местах ?

Как использовать перекрестные гиперссылки только в нужных местах ?


     04.06.2016    Общие вопросы    319

вопрос
Есть какой-нибудь хак или что-нибудь еще,что позволило бы отключать в нужных местах перекрестные гиперссылки и оставлять только текст без ссылки ?

Ответа пока нет


Комментарии пользователей (2)

Serge
4

67 | 1

Serge - 4 июня 2016 22:48 - Юзер

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

Находишь в коде
function replace_links ( $source, $links )
. Как я понял, именно там происходит обработка тех элементов, которые нужно "обходить". Копируешь, к примеру
        if ( preg_match_all('#<a(.+?)>(.+?)</a>#i', $source, $temp_array) ) {

            $temp_array = array_unique($temp_array[0]);
            foreach($temp_array as $value) {
                $i++;
                $safe_tags_list[$i]=$value;
                $source=str_replace($value, '!#' . $i . '#!', $source);
            }
        
        }
и вставляешь его чуть ниже. Вместо <a(.+?)>(.+?)</a> вписываешь те html-тэги, которые нужно "обходить"(можно даже с указанием классов), но оставляешь ".+?>(.+?). "

Если у тебя не срабатывает, значит ты как-то неправильно указывал тэги, поскольку метод на 100% проверен. После таких плясок с бубном у меня получилось исключить определенный <span>. К сожалению, конкретного примера уже нету, поскольку убрал по ненадобности.

mastodontoff
5

106 | 26

mastodontoff - 5 июня 2016 04:46 - Юзер

Это значит, что перекрестная ссылка не так уникальна, или вы ее не правильно юзаете ИМХО

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы