Autor Zpráva
koozle
Profil *
ahoj, dělám si takový malý adressbook, potřebuji pro názornost udělat funkci která z čísla "777123456" udělá "777 123 456" - zkoušel jsem něco jako:


$raw_phone="777123456"
$one = (int)substr($raw_phone, 0, 3);
$two = (int)substr($raw_phone, 4, 6);
$three = (int)substr($raw_phone, 8, 2);


jenomže nějak se nedaří :D jak je vidět, něco dělám blbě.
K.
Profil *
Nejprv si určitě přečti dokumentace k funkci substr. Pokud by jsi to udělal, zjistil bys, že třetím parametrem není index konce podřetězce, ale počet znaku podřetězce.

Jenže..... mnohem výhodnější je ale v tomto případě použít regulární výraz. Ve výsledku to bude potom vypadat nějak takto:

$phone = preg_replace('/^(d{3})(d{3})(d{3})$/','\1 \2 \3',$raw_phone);
K.
Profil *
Pozn. v tom druhém parametru mají být dvě zpětná lomítka, ne jedno.
roberta
Profil
$raw_phone="777123456";
echo number_format ($raw_phone, 0, ',', ' ');

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