Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: policzenie elementow w stringu
Forum PHP.pl > Forum > PHP
atomp3
Witam


Musze policzyc ilosc wyrazow "{duzy|maly}" w stringu Domek jest {duzy|maly} koloru {zolty|rozowy}

Prawidlowa wartosc bedzie 4

Wiem ze mozna uzyc preg_match_all tylko nie wiem jak


Pozdr.
MWL
Jak dobrze rozumiem:
$string = "{domek|penis|kotek}"
$string = substr($string, 1, -1);
$array = explode('|', $string);
echo sizeof($array);
atomp3
zwraca 3
MWL
no a ila ma zwracać?
{domek|penis|kotek}
3 tak?
atomp3
jak podstawisz moj string {duzy|maly} koloru {zolty|rozowy} zwraca 3 a ma byc 4

chodzi o to zeby wyswietlilo wszytskie kombinacje, hmm w zasadzi to ma byc ich 16 jakis pomysl?

funkcja jest taka

function random($matches)
{

$choices = explode('|', $matches[1] );

$choice = $choices[array_rand($choices)];

return $choice;
}
MWL
aha, no to nei zadziała tongue.gif myślałem ze to tylko dla stringów z tymi {}
atomp3
np sorki namieszalem troszke 4 ma byc

domek jest maly koloru zoltego

domek jest maly koloru rozowego

domek jest duzy koloru zoltego

domek jest duzy koloru rozowego
marcin86
Cytat(atomp3 @ 30.05.2009, 19:45:09 ) *
np sorki namieszalem troszke 4 ma byc

domek jest maly koloru zoltego

domek jest maly koloru rozowego

domek jest duzy koloru zoltego

domek jest duzy koloru rozowego


Namieszałeś i to bardzo, a nie troszke ;p Czyli w końcu chodzi o ilość kombinacji wszystkich (możliwych wyborów) czy jak?
Maveral
Jeśli to ma tylko zliczać, to nic prostszego:
  1. <?php
  2.    $tekst = 'Domek jest {duzy|maly} koloru {zolty|rozowy}';
  3.    echo substr_count($tekst, '|') + substr_count($tekst, '{');
  4. ?>
erix
A nie możesz przez preg_match" title="Zobacz w manualu PHP" target="_manual...?

To przecież jedna z prostszych regułek, wtedy wystarczy policzyć zwykłą pętlą...
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.