Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Вопрос? Генератор облако тегов

Тема в разделе "Вопросы- ответы", создана пользователем k1sher, 5 дек 2018.

05.12.18 в 18:50
05.12.18 в 18:50
0
261
0
  1. TopicStarter Overlay
    k1sher

    k1sher Новичок

    Регистрация:
    11 окт 2018
    Сообщения:
    40
    Лучших ответов:
    0
    Рейтинги:
    +0 / 2 / -0
    Можете подсказать как сделать генерацию облака тегов из "Метатег title"? Если это вообще возможно.
    В случае как указал ниже, облако генерируется из title и short_story

    Делал так...
    Открыть файл \engine\inc\include\functions.inc.php

    В самый конец перед
    PHP:
    ?>
    дописать
    PHP:
    function tagsInTitleShort$x ) {

        
    $quotesT = array ("\x22""\x60""\t""\n""\r"","".""/""¬""#"";"":""@""~""{""}""[""]",  "{""}""=""-""+"")""(""*""^""%""$""<"">""?""!"'"');

        
    $x preg_replace"#\[hide\](.+?)\[/hide\]#is"""$x );
        
    $x preg_replace"'\[attachment=(.*?)\]'si"""$x );
        
    $x preg_replace"'\[page=(.*?)\](.*?)\[/page\]'si"""$x );
        
    $x preg_replace"'\[url=(.*?)\](.*?)\[/url\]'si"""$x );
        
    $x str_replace"{ PAGEBREAK }"""$x ); // { PAGEBREAK } убрать пробелы
        
    $x str_replace"&nbsp;"" "$x );
        
    $x str_replace'<br />'' '$x );
        
    $x strip_tags$x );
        
    $x preg_replace"#&(.+?);#"""$x );

        
    $vTiSh trimstr_replace$quotesT" "$x ) );
        
    $tTExpA array_unique explode" "$vTiSh ) );
        
    shuffle($tTExpA);

        
    $iT "";
        while (list(, 
    $tTExpAx) = each($tTExpA)) {
            if ( 
    preg_match"/[a-zA-Zа-яА-Я0-9]{4}/"$tTExpAx ) ) $iT .= " " $tTExpAx;
        }
        
    $tTExpB explode" "trim$iT ) );

        
    $mT count$tTExpB );
        if ( 
    $mT 10 $mT 10;

        
    $mTD $mT 1;
        
    $resultTag "";
        for ( 
    $i 0$i $mT$i++ ) {
            if ( 
    $mTD != $i $resultTag .= $tTExpB[$i] . ",";
            else  
    $resultTag .= $tTExpB[$i];
        }

        return 
    $resultTag;

    }
    где if ( $mT > 10 ) $mT =10; это число максимум тегов

    Открыть файлы
    \engine\inc\addnews.php
    и
    \engine\inc\addnews.php

    Найти
    PHP:
        if( @preg_match"/[\||\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/"$_POST['tags'] ) ) $_POST['tags'] = "";
        else 
    $_POST['tags'] = @$db->safesqlhtmlspecialcharsstrip_tagsstripslashestrim$_POST['tags'] ) ) ), ENT_COMPAT$config['charset'] ) );
    НИЖЕ дописать
    PHP:
    $_POST['tags'] = tagsInTitleShort$title " " $short_story);
     
    #1 k1sher, 5 дек 2018
    Последнее редактирование: 5 дек 2018
Похожие темы
  1. Firstclass
    Ответов:
    2
    Просмотров:
    2.017
  2. europa1988
    Ответов:
    17
    Просмотров:
    2.075
  3. Dr_Brown
    Ответов:
    4
    Просмотров:
    1.838
  4. warxammer
    Ответов:
    0
    Просмотров:
    448
Загрузка...
Яндекс.Метрика