Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Mieszanie, kombinacja w string
Forum PHP.pl > Forum > PHP
stania
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

viking
  1. $array = ['wykonasz', 'zrealizujesz', 'osiągniesz'];
  2.  
  3. $cnt = 'Dzisiaj ' . $array[rand(0, count($array) - 1)] . ' swój cel';
  4. echo $cnt;
redeemer
  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);

stania
Dzięki bardzo, działa idealnie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.