seosniks

seosniks
Рейтинг
389
Регистрация
13.08.2007
ca7cba
BigBoss:
Таблица почему-то повреждается. Место на сервере не закончилось?

место есть. А вот видать с памятью Проблеммы.

Нужно хостинг менять.

xant:
хостера пинайте

А что случилось? Почему хостера? У меня VDS стоит ,

памяти мало?

Webmas08:
seosniks так же пример можно в личку?

Всем кто просил в личку,отправил информацию.

База 1 стоит 10$ база 2 стоит 20$

установка базы 1 и скрипта под ключ 20$/ 1 сайт

установка базы 2 и скрипта под ключ 30$/ 1 сайт

установка базы 1 и 2 и скрипта под ключ 30$ 2 са1та

Это актуально будет новичкам. Если сами не сможете все сделать.

Продаю теперь в базе 30 тысяч новостей.

Картинки размещены на хостингах картинок.

Может кто сталкивался с проблеммой.

Авторизуюсь и после этого жму далее мне выдает not select DB

база на месте, скрипт работал раньше. В чем проблемма может быть?

nikitian:

//Загружаем синонимы
$arr_=file('file_s_simoimami.txt');
$arr=array();
foreach($arr_ as $str)
{
$str=trim($str);
$t1=explode('=',$str);
$master=trim($t1[0]);
if(!isset($t1[1]))continue;
$t2=explode('|',$t1[1]);
if(sizeof($t2)==0)continue;
foreach($t2 as $t)$arr[crc32(strtolower($master))][crc32(strtolower(trim($t)))]=array('word'=>trim($t),'rep'=>0);
}
echo$text='<br />Эта книга призвана ответить на два извечных вопроса: <Какими средствами достигается великолепная запись?> и <Как делается качественный микс?>. И хотя большинство из присутствующих могут сказать, какое качество микса их устроило бы, чаще всего они не знают, как этого достичь, когда они уже находятся в студии.';
echo'<br />';
$text_arr=explode(' ',$text);
$str_='';
foreach($text_arr as $item)
{
$fl=false;
$t=str_replace('.','',str_replace(',','',str_replace('!','',str_replace('?','',str_replace('"','',str_replace('\'','',str_replace('<','',str_replace('>','',str_replace(':','',str_replace(';','',$item))))))))));
if(isset($arr[crc32(strtolower($t))]))
{
foreach($arr[crc32(strtolower($t))] as $k=>$v)if($v['rep']==0)
{
$str_.=str_ireplace($t,$v['word'],$item).' ';
$$v['rep']=1;
$fl=true;
break;
}//if
}//if
if(!$fl)$str_.=$item.' ';
}//foreach
echo $str_;



На вашем примере получаем:

Спасибо за вариант. Но тут к сожеленью он не сработает если база будет мегабайты.

вот еще пример

<?php

$trans = array("hello" => "hi", "hi" => "hello");
echo strtr("hi all, I said hello", $trans);
?>

hello all, I said hi

Возможно лучше будет что то типа

Это не рабочий вариант Я его нашел в сети. Но суть в том что лусше использовать базу sql

Потому как текстовый файл открыть будет проблематично если его вес метров 50.

// исходные пустые массивы

$words = array();
$synonyms = array();

// строим запрос
$sql = "SELECT * FROM `news_synonyms` WHERE `active`='1'";
// делаем запрос к БД
$spisok = main_sql_query("$sql");
while($row_id = mysql_fetch_assoc($slova)){ // перебор слов
// загоняем слово
array_push($words, " " . $row_id['source_word'] . " ");
// заоняем синоним
array_push($synonyms, " " . $row_id['destination_word'] . " ");

seosniks добавил 06.03.2009 в 18:11

Добрый вечер. Снова обращаюсь к знающим хорошо PHP

Значиться перегнал я все синонимы в базу данных.

База получилась 6 мб.

в базе 103731 синонимов

по этому чтоб получить базу нужно как то сделать запрос чтобы скрипт не перебирал всю подряд базу. А искал только то что начинаеться по конкретному слову.

например

если синонимайзер нашел слово

ЯСНОЕ то подставил синоним ВРАЗУМИТЕЛЬНОЕ

Но вот как сделать счтоб мускул мог нормально работать и не выдавал ошибку с нехваткой

памяти.

Я так понимаю что надо искать не по ID а по имени ключевого искомого слова

тоесть ищем в базе ключевое слово которое находится в тексте,который обрабатываем синонимами. И так у нас в переменной

$row["source_word"] нужное слово

меняем его на $row["destination_word"]

в итоге получим то что надо.

Вот только незнаю как искать по тексту.

Подскажите пожалуйста как найти и получить само слово.

сам принцип работы крипта наверное таким должен быть.

1 разбить текст на массив и проверять каждое совпадение, найдя совпадение заменить его на синоним. или может кто может недорого помочь.

extruder:
Что-то у вас огромный код получается. Это делается практически в одну строку.
Функция preg_replace имеет параметр, ограничивающий количество операций.

Например, вот как я реализовал генерацию ссылок по ключевым словам.
$content = preg_replace("/\b(".$row[text].")\b/i","<a href=\"".$row."\">\\1</a>",$content,$count);


Копайте в эту сторону.

генерация ссылок очень проста я делал ее для сапы, а вот ключевые слова посложнее.

дел минута делается всего лишь циклом и не нужно регскапов достаточно файла ключевых слов и все. Хотя кому как удобнее.

Есть варианты с вот пример самый простой способ который я делал для забивки базы данных ключевыми словами.


$file_array = file("counter.txt");
if(!$file_array){
echo("Ошибка открытия файла");}
else{
for($i=0; $i < count($file_array); $i++){

echo"\n";
echo "<a href='ваша ссылка'>".$file_array['$i']."</a>";
}
}}
а если у вас ссылки из сапы например для каждой страницы то тогда делается 2 файла.

самое главное хорошая база синонимов,а лучше словоформ :)

К стати В яндексе можно сделать через XML

там без задержек можно чекать, 1000 запросов в день с одного IP

Щас если дропнется тысяч 30 доменов

то думаю спрос упадет вообще на них.

Имхо набрали они а толку нету от этого.

уж лучше взять 5 букв только осмысленый доменчик а брать g6q.ru к пример смысла не вижу, если только под доры:D

Домен продан. СПасибо.

Всего: 4088