Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Синомайзер

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
splish
Отправлено: 03 Февраля, 2011 - 22:48:45
Post Id


Новичок


Покинул форум
Сообщений всего: 31
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Подскажите почему данный скрипт синомайзера работает не коректно.
При синонимизации текста, некоторые слова переносятся на новую строку.
Создал свою базу слов - текст вообще не стал обрабатываться.

Может у кого есть синонимизатор на PHP, прошу поделиться скриптом.
CODE (htmlphp):
скопировать код в буфер обмена
  1. <HTML>
  2. <HEAD>
  3.   <TITLE>Замена слов на синонимы (синонимайзер), уникализатор контента</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <?php
  7. if($_SERVER["REQUEST_METHOD"] == "POST")
  8. {
  9.         $row = $_POST["text"];
  10.         $znak= array(" ",".",",",":",";"," - ","!","?");
  11.         $fileSin = "dictionary.txt";
  12.         $masSin=file($fileSin);
  13.         $countSin=count($masSin);
  14.  
  15.         $len2=strlen($row);
  16.         for ($t=0; $t<$countSin; $t++)
  17.         {
  18.                 $sin=explode("|",$masSin[$t]);
  19.                 $pos=strpos($row, $sin[0]);
  20.                 $len=strlen($sin[0]);
  21.                 if ($pos > 1)
  22.                 {
  23.                         if ( ($pos + $len) < $len2 )
  24.                                 if ( (in_array($row[$pos + $len], $znak)) AND (in_array($row[$pos - 1], $znak)) )
  25.                                 {
  26.                                         $r=rand(2, count($sin));
  27.                                         $OldStr=$row[$pos-1].$sin[0].$row[$pos+$len];
  28.                                         $NewStr=$row[$pos-1].$sin[$r-1].$row[$pos+$len];
  29.                                         $row=str_replace($OldStr, $NewStr, $row);
  30.                                 }
  31.                 }
  32.         }
  33. }
  34. ?>
  35. <BR>
  36. <FORM ACTION="index.php" METHOD="POST">
  37. <TABLE ALIGN="CENTER">
  38.         <TR>
  39.                 <TD><STRONG>Введите текст для уникализации:</STRONG></TD></TR>
  40.         <TR>
  41.                 <TD><textarea rows="10" cols="80" name="text"><?=$_POST["text"]?></textarea></TD></TR>
  42.         <TR>
  43.                 <TD><HR></TD></TR>
  44.         <TR>
  45.                 <TD><STRONG>Результат уникализации:</STRONG></TD></TR>
  46.         <TR>
  47.                 <TD><textarea rows="10" cols="80"><?=$row?></textarea></TD></TR>
  48.         <TR>
  49.                 <TD><INPUT TYPE="submit" value="Уникализировать"></TD></TR>
  50. </TABLE>
  51. </FORM>
  52. </BODY>
  53. </HTML>
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB