Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Mieszanie, kombinacja w string
stania
post 26.02.2016, 22:50:47
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 20.05.2005

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


Witam,
W php jestem zielony potrzebuję coś ala mieszarkę tekstu.

Co chcę osiągnąć, mam sobie takiego stringa

  1. $cnt = "Dzisiaj {wykonasz | zrealizujesz | osiągniesz} swój cel";


Chciałbym za każdym razem w zmiennej wyjściowej dostać losową kombinację słów pomiędzy nawiasami { .. } np:
Dzisiaj wykonasz swój cel
Dzisiaj zrealizujesz swój cel
Dzisiaj osiągniesz swój cel

Proszę o pomoc

Go to the top of the page
+Quote Post
viking
post 27.02.2016, 08:18:20
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


  1. $array = ['wykonasz', 'zrealizujesz', 'osiągniesz'];
  2.  
  3. $cnt = 'Dzisiaj ' . $array[rand(0, count($array) - 1)] . ' swój cel';
  4. echo $cnt;


--------------------
Go to the top of the page
+Quote Post
redeemer
post 27.02.2016, 09:52:26
Post #3





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


  1. $string = "Dzisiaj {wykonasz | zrealizujesz | osiągniesz} swój cel";
  2.  
  3. $output = preg_replace_callback( '/{(.*?)}/', function($match) {
  4. $words = explode('|', $match[1]);
  5. return trim($words[ mt_rand(0, count($words)-1) ]);
  6. }, $string);
  7.  
  8. var_dump($output);



--------------------
Go to the top of the page
+Quote Post
stania
post 27.02.2016, 20:03:12
Post #4





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 20.05.2005

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


Dzięki bardzo, działa idealnie
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.04.2024 - 00:14