Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Mieszarka tekstu, Jak się do tego zabrać?
Maluch
post 7.02.2011, 17:04:14
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 7.02.2011

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


Witam wszystkich Forumowiczów,

Od jakiegoś czasu raczkuję w PHP i ostatnio w ramach kolejnego ćwiczenia myślę nad napisaniem skryptu, który będzie mieszał mi tekst, ale nie bardzo wiem od której strony mam ugryźć problem.

W zmiennej mam:
$tekst_oryginalny = "Ale ma {kota|psa|ose|świnke}"

Chciałbym wylosować jeden z wyrazów (kota/psa/ose/świnke), tak aby otrzymać różne zdania.

Możecie podpowiedzieć jak się do tego zabrać?

Z góry dzięki
Maluch
Go to the top of the page
+Quote Post
sadistic_son
post 7.02.2011, 17:09:29
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Użyj sobie funkcji losującej dowolną ilość elementów tablicy - array_rand.
  1. $string='Ala ma ';
  2. $tab=array([0] => 'kota' , [1]=>'psa' , [2]=> 'pryszcze' , [3]=> 'dauna' );
  3.  
  4. $wylosowany=array_rand($tab,1);
  5. $zdanie=$string.$tab[$wylosowany];
  6.  
  7. echo "$zdanie.";


Ten post edytował sadistic_son 7.02.2011, 17:23:00


--------------------
Uśpieni przez system, wychowani przez media,
Karmieni zmysłami, próżnymi żądzami...

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Jesteś zbyt leniwy, żeby się zarejestrować? Ja jestem zbyt leniwy aby Ci pomóc!
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Go to the top of the page
+Quote Post
Daiquiri
post 7.02.2011, 17:09:56
Post #3





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Sposobów jest mnóstwo. Możesz rozbić zdanie na tablicę - używając np. explode, a potem wylosować którąś funkcją typu rand index tablicy smile.gif.

Pytanie czy losowane elementy mogą się powielić?
Powód edycji: [Daiquiri]:
Go to the top of the page
+Quote Post
Pawel_W
post 7.02.2011, 19:21:04
Post #4





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


zapewne chodzi o mieszarkę synonimów, proponuję tu zastosowanie preg_replace + funkcja, która zwróci jako zamiennik losowy element smile.gif

jeżeli chcesz skorzystać z możliwości zagnieżdżania np. Ala ma {wielkiego {tygrysa|psa}|małego {chomika|kota}} to preg_replace + rekurencja, w przykładach w manualu masz nawet gotowca smile.gif
Go to the top of the page
+Quote Post
Mikolaj.on
post 9.05.2011, 14:07:57
Post #5





Grupa: Zarejestrowani
Postów: 68
Pomógł: 0
Dołączył: 13.01.2011

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


Gdzie w manualu ? bo nie widzę
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 01:24