Autor Zpráva
Ricky4852
Profil
Zdravím, už dlhšiu dobu premýšľam ako to spraviť ale nedarí sa mi... :(

Pokúšam sa totiž o funkciu podobnú explode, ibaže by do array uložila asi takýmto spôsobom:

$var=array("Ahoj svet ako sa mas?");
explode($var," ",2);

echo $var[0]."<br>";
echo $var[1]."<br>";
echo $var[2]."<br>";

Výsledok:
Ahoj
svet
ako sa mas?


Dúfam že ste ma pochopili, totiž tá dvojka vo funkcii explode by mala akoby zastaviť to ukladanie do jednotlivych poli a zbytok textu vpísať do nasledujúceho array
YoSarin
Profil
Ricky4852:
Úplně nechápu o co jde - nevím v čem konkrétně explode nevyhovuje? Co ta funkce má dělat jinak než explode?
Ricky4852
Profil
No ak by som dal klasický explode funkciu, tak mi do každého array uloží jedno slovo, asi takto:

$var=array("Ahoj svet ako sa mas?");
explode($var," ");

echo $var[0]."<br>";
echo $var[1]."<br>";
echo $var[2]."<br>";
echo $var[3]."<br>";
echo $var[4];

Výsledok by bol:
Ahoj
svet
ako
sa
mas?



Ak si však pozrieť prvý príspevok, tak do $var[2] by sa mal uložiť ten zbytok textu, lebo by som to obmedzil tou 2 vo funkcii. Tým pádom $var[3] a $var[4] by boli už prázdne array.
Tirus
Profil
Ricky4852:
vždyť to dělá to co má
Ak si však pozrieť prvý príspevok, tak do $var[2] by sa mal uložiť ten zbytok textu, lebo by som to obmedzil tou 2 vo funkcii. Tým pádom $var[3] a $var[4] by boli už prázdne array.

ne nebudou nastavený
YoSarin
Profil
Ricky4852:
no tak se prosím alespoň podívej do dokumentace explode. Parametr $limit tam je. Jestli dělá to co ty chceš si nejsem úplně jistý - do posledního pole vloží celý zbytek stringu, ale to by šlo velice lehce obejít. A proč proboha cpeš do explode místo stringu pole s jedním prvkem?
$string = 'Ahoj světe jak se máš?';
$maxWordCount = 3;
$words = explode(' ', $string, $maxWordCount + 1);
// $words => array('Ahoj', 'světe', 'jak', 'se máš?')
array_pop($words); // odstraníme poslední položku v poli, která obsahuje zbytek nerozloženého řetězce
// $words => array('Ahoj', 'světe', 'jak')

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0