Найти в тексте самое употребляемое слово или фразу.

Статус
В этой теме нельзя размещать новые ответы.

Stripe

Участник
Регистрация
20 Окт 2007
Сообщения
164
Реакции
9
Каким образом при помощи ПХП это сделать?
 
Каким образом при помощи ПХП это сделать?
PHP:
<?php
$string = "Здесь твой текст";
$string_array = explode(" ",$string);
foreach($string_array as $value)
{
    if(isset($str_count[$value]))
        $str_count[$value]++;
    else
        $str_count[$value]=1;
}
foreach($str_count as $key => $value)
    echo $key.": ".$value."<br>";
?>
 
А лучше так:
PHP:
<?php
$string = "Здесь твой текст. А здесь второе предложение.";


preg_match_all("/([а-яА-Я]+)/",$string,$string_array_temp);

$string_array = $string_array_temp[1];
foreach($string_array as $value)
{
    if(isset($str_count[$value]))
        $str_count[$value]++;
    else
        $str_count[$value]=1;
}
foreach($str_count as $key => $value)
    echo $key.": ".$value."<br>";
?>
Так как предыдущий пример не учитывает знаки препинаний
 
А как быть с двухсловными или трехсловными словосочетаниями?
 
Кроме того, из текста надо выбросить предлоги ,спец символы,стоп-слова ,теги и т.п.,а потом делать разбор.
 
А как быть с двухсловными или трехсловными словосочетаниями?
PHP:
<?
$string = "Здесь твой текст. А здесь второе предложение. Здесь твой текст.";
$array=preg_split('/([^а-яА-Я]+)/',$string);
$t=array();
$res=array();
foreach($array as $value)
	{
	array_push($t,$value);
	if(count($t)==3)//длина словосочтания
		{
		$res[strtolower($t[0].' '.$t[1].' '.$t[2])]++;
		array_shift($t);
		}
	}

foreach($res as $key => $value) 
    echo $key.": ".$value."<br>";
?>
словосочетания находящиеся началом в одном предложении, а концом в другом также учитывает
если не нужно, или еще какие дополнения, конкретизируйте задачу окнчательно, чтобы мы не гадали
 
словосочетания находящиеся началом в одном предложении, а концом в другом также учитывает
если не нужно, или еще какие дополнения, конкретизируйте задачу окнчательно, чтобы мы не гадали
Задача запретить синонимизировать слова и фразы под которые оптимизирован текст.
 
similar_text -- Вычисляет степень похожести двух строк
substr_count -- Возвращает число вхождений подстроки
str_word_count -- Возвращает информацию о словах, входящих в строку в виде массива. Далее сам додумывай
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху