Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] losowa podmiana wyrazów w tekście
sirkus
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 7.10.2008

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


witam,

czy mógłby mi ktoś powiedzieć jak powinien wyglądać skrypt który po otrzymaniu tekstu

"Egipt {jest|znajduje się} w Afryce." zostanie przekształcone albo w "Egipt jest w Afryce." albo w "Egipt znajduje się w Afryce."

czyli poprostu wyrazy z pomiędzy znaków { } będą losowane i wyświetlany jeden z nich


miałem kiedyś gotowy skrypt, ale gdzieś zginął a nie mogę odnaleść bloga na którym się znajdował a moje próby stworzenia tego samemu nie powiodły się bo jakoś z wyrażeniami regularnymi nie jestem za pan brat
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


  1. <pre><?php
  2.  
  3. $str = "Egipt {jest|znajduje się} w Afryce. {Manual|Dokumentacja} jest moim {przyjacielem|wrogiem}.";
  4.  
  5. for ( $i = 0; $i < 10; $i++ )
  6. {
  7.    $newStr = preg_replace_callback('#{(.*?)}#um', 'replacer', $str);
  8.    echo( "$newStr <br />" );
  9. }
  10.  
  11. function replacer( $matches )
  12. {
  13.    $choices = explode('|', $matches[1] );
  14.    $choice = $choices[array_rand($choices)];
  15.    return $choice;
  16. }
  17. ?>
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: 3.10.2025 - 20:17