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
sirkus
post
Post #2





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

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


mała przeróbka i jest dokładnie to o co mi chodziło, wielkie dzięki

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