Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 1217 Просмотров
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
JCH Optimizer и noindex
« : 22.01.2013, 20:33:44 »
Вопрос возможно не заинтересует многих, но... JCH Optimizer имеет функцию укорачивания кода, а именно убирает лишние пробелы и комментарии из кода - вещь очень не плохая (ИМХО). Но вот валидный noindex он тоже режет, приняв за коммент. Т.е. <!--noindex--> ..... <!--/noindex--> вырезается из кода с корнем.
 В JCH Optimizer, как я понял за этим стоит код:
Код
    protected function excludeIf($sType) {

        if (preg_match_all('~<\!--.*?-->~is', $this->sHead, $aMatches)) {

            foreach ($aMatches[0] as $sMatch) {

                preg_match_all('~.*?/([^/]+\.' . $sType . ').*?~', $sMatch, $aExcludesMatches);

                $this->aCallbackArgs['excludes'][] = @$aExcludesMatches[1][0];

            }

        }

    }
Моожет кто подсказать как составить условие, чтобы для строки, содержащей <!--noindex--> ..... <!--/noindex-->, данная функция не выполнялась?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: JCH Optimizer и noindex
« Ответ #1 : 23.01.2013, 04:05:42 »
 if (preg_match_all('~<\!--(?!\/?noindex).*?-->~is', $this->sHead, $aMatches)) {
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
Re: JCH Optimizer и noindex
« Ответ #2 : 23.01.2013, 14:12:51 »
Вы не так поняли. Нужно условие, при котором, если есть noidex, данную функцию пропустить.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: JCH Optimizer и noindex
« Ответ #3 : 23.01.2013, 14:21:23 »
Так регулярка так и делает. Не выбирает <!--noindex-->и <!--/noindex-->, выбирает все кроме предыдущих<!--любой текст-->
Вопрос вы пробовали вставлять вышеприведенный код?
(?!\/?noindex) - это и есть условие
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
Re: JCH Optimizer и noindex
« Ответ #4 : 23.01.2013, 20:42:06 »
Да, пробовал - <!--noindex--> ..... <!--/noindex--> вырезает подчистую
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: JCH Optimizer и noindex
« Ответ #5 : 23.01.2013, 22:13:23 »
Значит не здесь вырезает. Вот тест и результат под спойлером. Кеш чистили?
Код: php-brief
<?php
$text1 ='<!--noindex-->Привет<!--/noindex-->Тест1 <!--aaaa-->Привет<!--dddd-->Тест1 ';
if (preg_match_all('~<\!--(?!\/?noindex).*?-->~is', $text1, $aMatches)) {
   var_dump($aMatches);
}
?>
Спойлер
[свернуть]
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
Re: JCH Optimizer и noindex
« Ответ #6 : 23.01.2013, 22:28:43 »
Poznakomlus, спасибо за помощь.
Гм, может быть... Но похожее регулярное выражение нашел только в этом блоке. Да и файл в этом плагине один.
А если составить if else ? Для контрольного в голову? ))
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: JCH Optimizer и noindex
« Ответ #7 : 23.01.2013, 22:42:44 »
Чистили ли кеш?
Что у вас подается на вход функции. Если так вставите строку, что выведет
var_dump($sType);
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
Re: JCH Optimizer и noindex
« Ответ #8 : 24.01.2013, 10:27:45 »
Вы правы, там еще есть вызов на проверку комментов в коде.
*

samuray7

  • Захожу иногда
  • 77
  • 6 / 0
  • Хыка
Re: JCH Optimizer и noindex
« Ответ #9 : 24.01.2013, 18:21:15 »
В другом файле есть еще блок вырезания комментов =(
Код
        // remove HTML comments (not containing IE conditional comments).

        $this->_html = preg_replace_callback(

            '/<!--([\\s\\S]*?)-->/'

            ,array($this, '_commentCB')

            ,$this->_html);
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Теги noindex, nofollow при формировании url

Автор Pe3HuK

Ответов: 5
Просмотров: 1089
Последний ответ 27.06.2017, 10:03:40
от ChaosHead
Убрать тег noindex

Автор KingSnake

Ответов: 4
Просмотров: 2085
Последний ответ 20.11.2014, 14:27:43
от KingSnake
Не присваивается noindex, nofollow страницам через админку

Автор Kasumi

Ответов: 5
Просмотров: 1741
Последний ответ 06.08.2012, 22:05:17
от sbakur