Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][HTML]Podmana wartosci w tablicy
shtoc
post
Post #1





Grupa: Zarejestrowani
Postów: 128
Pomógł: 0
Dołączył: 18.11.2008
Skąd: Polska

Ostrzeżenie: (10%)
X----


  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2.  
  3. <html>
  4. <head>    
  5. </head>
  6. <body>
  7.  
  8.    <form method="post">
  9.    <textarea name="mix" cols="70" rows="20"></textarea>
  10.    <br />
  11.    <input type="submit" value="MIX"/>
  12.    </form>
  13.    <?php
  14.  
  15.    $pdo = new PDO('mysql:host=localhost;dbname=mikser', 'admin', 'xx');
  16.    $pdo ->query("SET NAMES latin2");
  17.  
  18.    $tablica = explode(" ", $_POST['mix']);
  19.  
  20.    foreach($tablica as $tmp)
  21.    {
  22.       $dlugosc=strlen ($tmp);
  23.       if ($dlugosc >= 4)
  24.       {
  25.          
  26.           $sql="  SELECT * FROM synonimy WHERE slowa REGEXP '$tmp'";
  27.           $stat = $pdo->query($sql);
  28.    
  29.            foreach($stat as $row)
  30.             {                            
  31.                $synonim=$row['slowa'];              
  32.                $nowa=str_replace(';', '|',$synonim);
  33.                                                            
  34.             }
  35.               echo '<br />'."[$tmp]".$nowa.'<br />';      // w zmiennej nowa sa synonimy pobrane z bazy dla slowa ze zmiennej tmp
  36.            
  37.       }
  38.    else ;
  39.  
  40.    unset ($nowa,$synonim);
  41.    }
  42.  
  43. ?>
  44.  
  45. </body>
  46. </html>


mam taki problem jak mam w tablicy z rozbitym tekstem podmienic dany wyraz dla ktorego sa sprawdzane synonimy tymi synonimami i zwrocic tekst z tymi synonimami??

przyklad :

to jest jakis napisany tekst

to jest jakis synonim|synonim1|synonm2 tekst
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ziqzaq
post
Post #2





Grupa: Zarejestrowani
Postów: 428
Pomógł: 128
Dołączył: 17.06.2007

Ostrzeżenie: (0%)
-----


Tak patrzę na twój kod i się zastanawiam w czym ty masz problem.
Przecież masz tekst ($_POST['mix']), masz słowa ($tmp), synonimy ($stat), więc w czym problem?
Bierzesz synonimy, słowa i tekst i zamienasz słowa na synonimy (funkcje znasz).

Edit:
Coś w stylu:
  1. <?php
  2. $tekst = $_POST['mix'];
  3. ....
  4. foreach($tablica as $tmp)
  5.   {
  6.      $dlugosc=strlen ($tmp);
  7.      if ($dlugosc >= 4)
  8.      {
  9.          
  10.          $sql="  SELECT * FROM synonimy WHERE slowa REGEXP '$tmp'";
  11.          $stat = $pdo->query($sql);
  12.    
  13.           foreach($stat as $row)
  14.            {                            
  15.               $synonim=$row['slowa'];              
  16.               $nowa=str_replace(';', '|',$synonim);
  17.                                                          
  18.            }
  19.              echo '<br />'."[$tmp]".$nowa.'<br />';      // w zmiennej nowa sa synonimy pobrane z bazy dla slowa ze zmiennej tmp
  20.  
  21.  
  22.           // Tu masz swoj tekst
  23.           $tekst = str_replace($tmp,$nowa,$tekst);
  24.      }
  25. ...
  26. ?>


Edit2:
Chyba skumałem w czym tkwi twój problem.
Wiesz, że jak wyciągniesz kilka synonimów z bazy to zmienna $nowa będzie przechowyać tylko ostatni synonim?
Zastanów się dlaczego (przypatrz się co robisz ze zmienną $nowa) (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
  1. <?php
  2. $sql="  SELECT * FROM synonimy WHERE slowa REGEXP '$tmp'";
  3.         $stat = $pdo->query($sql);
  4.  
  5.          foreach($stat as $row)
  6.           {                            
  7.              $synonim=$row['slowa'];              
  8.              $nowa=str_replace(';', '|',$synonim);
  9.                                                          
  10.           }
  11. ?>

A jak to nie to to odpadam (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Mam dzisiaj jakiś niż umysłowy.

Ten post edytował ziqzaq 3.01.2009, 15:50:47
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 13:58