• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Необходим хак с параметром добавления к ссылкам тега rel="nofollow"

xatinko

Постоялец
Регистрация
24 Май 2015
Сообщения
51
Реакции
7
Всем привет. Шарящие в PHP и DLE. Для редактора bbcode необходим хак, который бы добавлял к ссылкам тег rel="nofollow". Можно даже изменить параметр [leech] под nofollow, но без кодировок и редиректа, что бы формировал как простую ссылку но с параметром Nofollow.

Сам в коде не особо шарю, но задача кажется не сложная. Пишите цену вопроса.
 
Добавьте в functions.php


Код:
// nofollow noopener noreferrer
function add_nofollow_content($content)
{   
  $content = preg_replace_callback(
    '/<a[^>]*href=["|\']([^"|\']*)["|\'][^>]*>([^<]*)<\/a>/i',
  function($m) {
    if (strpos($m[1], "АДрес сайта.точка ру-сом-юа") === false)
    return '<a href="'.$m[1].'" rel="nofollow noopener noreferrer" target="_blank">'.$m[2].'</a>';
    else
    return '<a href="'.$m[1].'" target="_blank">'.$m[2].'</a>';
  },
  $content);
    return $content;
  }
add_filter('the_content', 'add_nofollow_content');
 
Добавьте в functions.php


Код:
// nofollow noopener noreferrer
function add_nofollow_content($content)
{ 
  $content = preg_replace_callback(
    '/<a[^>]*href=["|\']([^"|\']*)["|\'][^>]*>([^<]*)<\/a>/i',
  function($m) {
    if (strpos($m[1], "АДрес сайта.точка ру-сом-юа") === false)
    return '<a href="'.$m[1].'" rel="nofollow noopener noreferrer" target="_blank">'.$m[2].'</a>';
    else
    return '<a href="'.$m[1].'" target="_blank">'.$m[2].'</a>';
  },
  $content);
    return $content;
  }
add_filter('the_content', 'add_nofollow_content');

Неа не фурычит, а по какому принципу этот код должен работать? Он просто в обычный тег [u r l] добавляет nofollow? Или leech заменяет?
 
Неа не фурычит, а по какому принципу этот код должен работать? Он просто в обычный тег [u r l] добавляет nofollow? Или leech заменяет?
а Вы указали адрес сайта ? и какая версия дле ?
 
а Вы указали адрес сайта ?
Да, обязательно указал. Версия 13.3

Fatal error: Uncaught Error: Call to undefined function add_filter() in D:\OSPanel\domains\test.ru\engine\modules\functions.php:101 Stack trace: #0 D:\OSPanel\domains\test.ru\engine\init.php(26:( require_once() #1 D:\OSPanel\domains\test.ru\index.php(28:( require_once('D:\\OSPanel\\doma...') #2 {main} thrown in D:\OSPanel\domains\test.ru\engine\modules\functions.php on line 101
 
Последнее редактирование:
Да, обязательно указал. Версия 13.3

Fatal error: Uncaught Error: Call to undefined function add_filter() in D:\OSPanel\domains\test.ru\engine\modules\functions.php:101 Stack trace: #0 D:\OSPanel\domains\test.ru\engine\init.php(26:( require_once() #1 D:\OSPanel\domains\test.ru\index.php(28:( require_once('D:\\OSPanel\\doma...') #2 {main} thrown in D:\OSPanel\domains\test.ru\engine\modules\functions.php on line 101
простите но может я не до конца понимаю что Вам нужно напишите мне в скайп pyaterka.90 может помогу Вам разобраться !
 
простите но может я не до конца понимаю что Вам нужно напишите мне в скайп pyaterka.90 может помогу Вам разобраться !

Простыми словами, мне нужен выбор в bbcode редакторе, что бы публиковать ссылки с тегом rel=nofollow и без. То есть, прямые ссылки на свои внутренние страницы без nofollow, а внешние на другие сайты с nofollow. Есть параметр [leech] для внешних ссылок, который ридеректит и кодирует. Мне он для SEO не подходит.
 
add_filter - вы с WordPress не перепутали?

xatinko - ковыряй parse.class.php

Где-то примерно тут:
PHP:
				case 'link':
					$html = ( !empty($data->title) ) ? '<a href="' . $this->safeUrl($data->url) . '">' . $this->escapeHTML($data->title) . '</a>' : false;
					break;
 
Назад
Сверху