Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Losowanie wyrazów z tekstu
Forum PHP.pl > Forum > Przedszkole
shtoc
Mam takie pytanie.
  1. <form method="post">
  2. <textarea name="mix" cols="70" rows="20"> </textarea>
  3. <br />
  4. <input type="submit" value="MIX"/>
  5. </form>
  6.  
  7. <?php
  8.  
  9. echo $_POST['mix'];
  10. ?>


Czy darady z wpisanego w formularz tekstu wylosowac 3,4 slowa do ich poźniejszej zmiany??
shtoc
Cytat(Grzyw @ 2.01.2009, 15:39:42 ) *


uzylem explode() bo chcialem stringa na tablice mam teraz tak
  1. <?php
  2. $tablica = explode(" ", $_POST['mix']);
  3.    print_r($tablica);
  4.    $losowe=array_rand($tablica,8);
  5.    echo '<br /><br />';
  6.    print_r($losowe);
  7. ?>


ale jak wyswietlam wylosowane to wyswietla mi nr wylosowany z tablicy a nie jej wartosc (slowo) questionmark.gif

ok juz mam

  1. <?php
  2. foreach($losowe as $tmp)
  3.    {
  4.    print_r("[$tmp]".$tablica[$tmp].'<br />');
  5.    }
  6. ?>


jako ze tyczy sie wszystko tego samego skryptu bede kontynuowal w tym samym!!

mam juz zrobione losowe wybieranie słow z tekstu teraz chcialbym zeby te slowa byly sprawdzana w bazie czy takie juz sa a jak sa to zeby byly wypisane. mam jednak problem!! robie cos takiego :

  1. <?php
  2. $pdo = new PDO('mysql:host=localhost;dbname=mikser', 'admin', 'haslo');
  3.    $pdo ->query("SET NAMES latin2");
  4.  
  5.  
  6.    $sql='select slowa from synonimy where id=4 ';
  7.    $stat = $pdo->query($sql);
  8.    
  9.    foreach($stat as $row)
  10.    {
  11.    echo($row['slowa'].'<br />');
  12.    }
  13. ?>


po id wszystko wyswietla wyswietla slowa
a ja bym chcial zeby wyswietlalo slowa jak w bazie jest dane slowo sprawdzane
nie wiem czy struktura bazy nie bedzie przeszkadzac mianowicie w kolumnie ze slowami sa one wpisywane tak: ABC;abecadlo;alfabet rozdzielone tylko srednikiem.
i jak bede mial w zmiennej np. ABC to sprawdzam czy ABC jest w bazie jak tak to wyswietlam wszstkie synonimy ABC.

nie wiem jak skastruowac zapytanie sql zeby to wyciagalo
probowalem:
select slowa from synonimy where slowa=slowo
select slowa from synonimy where `slowa`=slowo
select slowa from synonimy where slowa=$zmienna_ze_słowem
piotrooo89
ja bym się na Twoim miejscu zainteresował: full text search
shtoc
pogrzebalem jeszcze tu i tam i teraz mam cos takiego :

  1. <?php
  2. $pdo = new PDO('mysql:host=localhost;dbname=mikser', 'admin', 'xxx');
  3.    $pdo ->query(&#092;"SET NAMES latin2\");
  4.    
  5.    //echo $_POST['mix'];
  6.  
  7.    $tablica = explode(&#092;" \", $_POST['mix']);
  8.    print_r($tablica);
  9.    $losowe=array_rand($tablica,2);
  10.    echo '
  11.  
  12. ';
  13.  
  14.    foreach($losowe as $tmp)
  15.    {
  16.    print_r(&#092;"[$tmp]\".$tablica[$tmp].'
  17. ');
  18.  
  19.    $sql=\"  SELECT * FROM synonimy WHERE slowa REGEXP '$tablica[$tmp]'\";
  20.    $stat = $pdo->query($sql);
  21.    foreach($stat as $row)
  22.    {
  23.    echo($row['slowa'].'
  24. );
  25.    }
  26.  
  27.    }
  28. ?>


wrzucem sobie tekst rozbija mi go na slowa w tablicy losuje sobie slowa i sprawdzam czy sa w bazie jak sa to wyswietlam synonimy tego slowa
najgorsze jest to ze jak jest krotkie slowo to czasami jest zagnierzdzone w innych slowach jak bym wylosowal "W" to wyswetli mi 3/4 bazy ze to sa synonimy slowa "W" a drugi problem to jak slowo jest synonimem wielu synonimow to tez wyswietla wszystkie rekordy w bazie gdzie jest to slowo!!

jeszcze jakies rady questionmark.gif

idea tego skryptu ma byc cos podobnego jak w poscie
http://forum.php.pl/index.php?showtopic=67...mp;#entry354061

nie wiem czy autor robil to samo co ja chcem zrobic

Czyli wrzucenie tekstu wybranie z niego słow zastąpienie ich synonimami i wygenerowanie nowego tekstu.

moze ktos robil takie narzedzie i moze mnie naprowadzic??

________________________________________________________________________________
__

Mam problem napisalem kod
  1. <?php
  2.  
  3.    $pdo = new PDO('mysql:host=localhost;dbname=mikser', 'admin', 'xxx');
  4.    $pdo ->query("SET NAMES latin2");
  5.  
  6.    $tablica = explode(" ", $_POST['mix']);
  7.  
  8.    foreach($tablica as $tmp)
  9.    {
  10.       $dlugosc=strlen ($tmp);
  11.       if ($dlugosc >= 4)
  12.       {
  13.           //echo $tmp.$dlugosc.'<br />';
  14.           $sql="  SELECT * FROM synonimy WHERE slowa REGEXP '$tmp'";
  15.           $stat = $pdo->query($sql);
  16.    
  17.            foreach($stat as $row)
  18.             {                            
  19.                $synonim=$row['slowa'];              
  20.                $nowa=str_replace(';', '|',$synonim);
  21.                                                            
  22.             }
  23.               echo '<br />'."[$tmp]".$nowa.'<br />';   // synonimy dla slowa
  24.          
  25.               print_r($tmp).'<br />';        //slowo
  26.           }
  27.    else ;
  28.  
  29.    unset ($nowa,$synonim);
  30.    }
  31.  
  32.    ?>


mam takie pytanie jak mam podnieminc slow w zmiennej $tmp na synonimy znajdujace sie w $nowa
i zwrocic tekst z synonimami

to jest jakis tekst

to jest synonim|synonim|synonim tekst

w formie podanej powyzej questionmark.gif
prosze o pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.