Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.7570
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 28.12.2008, 01:19   #1
Dem0kratizat0r
Senior Member
 
Аватар для Dem0kratizat0r
 
Регистрация: 27.04.2007
Сообщений: 1,685
Бабло: $163746
По умолчанию подскажите плагин Wp для авто тэгов

В общем заёбся я уже с Simple Tagging, он хуячит десятки тэгов к посту, хотя в конфиге поставил до пяти.

Может быть кто-нибудь подскажет другой какой-то плагин, которы сам будет проставлять тэги к посту. Нужно, чтобы работало в режиме, когда идёт автопостинг (сплоги), а не ручная отправка сообщения в блог.
__________________
Mini Bluetooth Speaker
Dem0kratizat0r вне форума  
Старый 28.12.2008, 01:31   #2
D007
саловер
 
Аватар для D007
 
Регистрация: 17.04.2007
Сообщений: 3,134
Бабло: $281165
Отправить сообщение для D007 с помощью ICQ
По умолчанию

тоже ищу, ничего путевого пока, все пиздец кривое
D007 вне форума  
Старый 28.12.2008, 20:33   #3
JMen
учу php
 
Регистрация: 04.04.2008
Сообщений: 1,163
Бабло: $68290
По умолчанию

если только свой скрипт вам отдать на растерзание... но он не офомлен в виде плагина, надо запаковать...

я тоже искал - так и не нашёл готового ничего
__________________
Подпись??? Не продам!
JMen вне форума  
Старый 29.12.2008, 02:08   #4
azh
Юниор
 
Регистрация: 24.06.2007
Сообщений: 7
Бабло: $590
По умолчанию

есть 2 варианта, использую оба, результаты не супер, но лучше чем ничего...
я встраивал для себя в блогаутоматер описывал работу классов на нулледе, но он не работает сейчас... как использовать лень писать :-) поэтому вкратце
если тагзэнет ничего не дает или ошибка, то используется 1 Automatic Keyword Generator
1. это класс Automatic Keyword Generator примерно как тут(_http://www.pickbrains.com/articles/automatic-keyword-generator или _http://www.phpclasses.org/browse/package/3245.html), я юзаю еще версию 0.2 хз чем она от 03 отличается...
2. сам написал класс class.tagthenet.php (только английский utf8), на основе функции которую нашел на каком то буржуйском блоге....
ba-20081228235815.zip
$thetags->rarray = true;
$thetags->atarray = true;
//$thetags->rstr = true;
//$thetags->atstr = true;
параметры для него используютя в связке... короче кому надо разберется...
$entry['body']; собственно контент
PHP код:
закомментированое удалить

$kws 
= array();

        
$params['result'] = true// array - false, string - true
        
$params['word_quantity'] = 5;
        
$params['content'] = $entry['body']; //page content
        //set the length of keywords you like
        
$params['min_word_length'] = 5;  //minimum length of single words
        
$params['min_word_occur'] = 3;  //minimum occur of single words

        
$params['min_2words_length'] = 4;  //minimum length of words for 2 word phrases
        
$params['min_2words_phrase_length'] = 10//minimum length of 2 word phrases
        
$params['min_2words_phrase_occur'] = 2//minimum occur of 2 words phrase

        
$params['min_3words_length'] = 3;  //minimum length of words for 3 word phrases
        
$params['min_3words_phrase_length'] = 10//minimum length of 3 word phrases
        
$params['min_3words_phrase_occur'] = 2//minimum occur of 3 words phrase

        
$keyword = new autokeyword($params"iso-8859-1"); // "UTF-8"
            //$kws = $keyword->parse_words();
            //$kws2 = $keyword->parse_2words();
            //$kws3 = $keyword->parse_3words();
        
$ktags =  explode(", "$keyword->get_keywords());
        echo 
'<b>ktags</b><pre>'print_r($ktags); echo '</pre>';

        
/*
        $simpercent = 87;

        $q = count($kws);
        $i=0;
        while($i < $q) {
                $term = $kws[$i];
                foreach($kws as $match) {
                    similar_text($term, $match, $percent);
                    if(ceil($percent) > $simpercent && ceil($percent) != 100) { 
                        $kws = array_flip($kws);
                        if (array_key_exists($match, $kws)) {
                            unset($kws[$match]);
                            $i++; --$q;
                        }
                        $kws = array_flip($kws);
                    }
                }
                $i++;
        }
        */


        //$contents = htmlspecialchars_decode($entry['body']);

        
$thetags = new tagthenet();
        
$thetags->contents $entry['body'];
        
$thetags->rlanguage false;
        
$thetags->rdebug false;

        
$thetags->rarray true;
        
$thetags->atarray true;
        
//$thetags->rstr = true;
        //$thetags->atstr = true;
        
$tags =  $thetags->thetags();
        echo 
'<b>tags</b><pre>'print_r($tags); echo '</pre>';

        if(!empty(
$tags[0])) $kws $tags[0];
        else 
$kws $ktags;
        echo 
'<b>kws</b><pre>'print_r($kws); echo '</pre>'
кстати симплтагз сам проставляет нормально для тематических сплогов, просто сначала надо добавить небольшое количество тэгов-кейвордов потом поставить галки использовать существующие теги ( Use also local tags)
а вообще надо добавлять записи уже с тегами и через XML-RPC

Последний раз редактировалось azh; 30.12.2008 в 19:33.
azh вне форума  
Старый 29.12.2008, 12:22   #5
D007
саловер
 
Аватар для D007
 
Регистрация: 17.04.2007
Сообщений: 3,134
Бабло: $281165
Отправить сообщение для D007 с помощью ICQ
По умолчанию

Цитата:
Сообщение от jmen Посмотреть сообщение
если только свой скрипт вам отдать на растерзание... но он не офомлен в виде плагина, надо запаковать...

я тоже искал - так и не нашёл готового ничего
отдавай на растерзание карму отлично прокачаешь
D007 вне форума  
Старый 29.12.2008, 17:27   #6
JMen
учу php
 
Регистрация: 04.04.2008
Сообщений: 1,163
Бабло: $68290
По умолчанию

Там так - то ничего сложного:

PHP код:
class Additional_Text_Tegs
{
    function 
getTegs($content$title$count 3$simplyWords null)
    {
        
$original = array();

        
$sources = array();
        
$titles = array();

        
$use_simply = (is_array($simplyWords) && count($simplyWords));

        
$title preg_replace("/<.*>|\&\#\d+;/iUs"" "$title);
        
$title_list preg_split("/[^\w\d\.]+/"$title);
        foreach (
$title_list as &$value)
        {
            while (
substr($value, -1) == '.' && strlen($value)) $value substr($value0, -1);
            
$value strtolower($value);
            
$original[strtolower($value)] = $value;
        }

        
$content preg_replace("/<.*>|\&\#\d+;/iUs"" "$content);
        
$content_list preg_split("/[^\w\d\.]+/"$content);
        foreach (
$content_list as &$value)
        {
            while (
substr($value, -1) == '.' && strlen($value)) $value substr($value0, -1);
            
$original[strtolower($value)] = $value;
        }

        foreach (
$content_list as $value)
        {
            
$low strtolower($value);
            if (
substr($low, -1) == 's' && key_exists(substr($low0, -1), $original)) $low substr($low0, -1);

            if (
                (
strlen($value) > 3) &&
                (!
$use_simply || !in_array($low$simplyWords) )
            )
            {
                if (
in_array($low$title_list)) @$titles[$low]++; else @$sources[$low]++;
            }
        }
        unset(
$content_list);
        unset(
$title_list);

        
//echo $content;

        
$i 0;
        
$tegs = array();
        
arsort($titles);
        
//print_r($titles);
        
if (count($titles))
        {
            foreach (
$titles as $teg => $popular)
            {
                
$tegs[$i++] = (isset($original[$teg]) ? $original[$teg] : $teg);
                if (
$i >= $count) break;
            }
        }

        if (
$i $count && count($sources))
        {
            
arsort($sources);
            
//print_r($sources);
            
foreach ($sources as $teg => $popular)
            {
                if ( (
$popular == && count($tegs)) || $i >= $count) break;

                
$tegs[$i++] = (isset($original[$teg]) ? $original[$teg] : $teg);
            }
        }

        
//print_r($tegs);
        //exit;

        
return $tegs;
    }

$content - текст поста
$title - заголовок
$count - сколько тегов отдать (максимум)
$simplyWords - список простых слов, которые не должны попасть в список тегов (then, when, reset....)

Тока это не плагин, это класс. Используется для своего собственного движка. В плагин надо упаковать... а мне лень
__________________
Подпись??? Не продам!
JMen вне форума  
Старый 29.12.2008, 19:45   #7
D007
саловер
 
Аватар для D007
 
Регистрация: 17.04.2007
Сообщений: 3,134
Бабло: $281165
Отправить сообщение для D007 с помощью ICQ
По умолчанию

Цитата:
Сообщение от JMen Посмотреть сообщение
В плагин надо упаковать... а мне лень
спасибо разберемся
D007 вне форума