Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ PHP _ [php] Mieszanie, kombinacja w string

Napisany przez: stania 26.02.2016, 22:50:47

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


Napisany przez: viking 27.02.2016, 08:18:20

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

Napisany przez: redeemer 27.02.2016, 09:52:26

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


Napisany przez: stania 27.02.2016, 20:03:12

Dzięki bardzo, działa idealnie

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)