Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Dzielenie string na bloki znaków
Cobweb
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 18.07.2007

Ostrzeżenie: (0%)
-----


Witam!

Jako że jest to mój pierwszy post i dopiero zaczynam przygodę z php i mysql to proszę o wyrozumiałość.

Mam w bazie mysql kolumnę, która zawiera numery telefonów w następującej postaci 0445556677, problem polega na tym, aby wyświetlany numer na stronie był w takiej postaci: 044 555 66 77, szukając rozwiązania natknąłem się na funkcję substr i spłodziłem coś takiego:

  1. <?php
  2. $kierunkowy = substr($tel, 0, 3);
  3. $numer1 = substr($tel, 3, 3);
  4. $numer2 = substr($tel, 6, 2);
  5. $numer3 = substr($tel, 8, 2);
  6. $telefon = $kierunkowy . " " .$numer1 . " " . $numer2 . " " . $numer3;
  7. ?>


W zasadzie efekt jest taki jak być powinien, ale kod jest raczej bardzo bardzo ...., czy nie można by wydobyć poszczególnych bloków kodu za jednym wywołaniem? Byłbym wdzięczny za jakieś pomysły ewentualnie, jaką inną funkcją w php lub mysql powinienem się zainteresować?

Z góry dziękuję za pomoc!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
JaRoPHP
post
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Ja proponuje tak:
  1. <?php
  2. preg_match('/([0-9]{3})([0-9]{3})([0-9]{2})([0-9]{2})/', $tel, $matches);
  3. $tel = $matches[1] . ' ' . $matches[2] . ' ' . $matches[3] . ' ' . $matches[4];
  4. ?>

~qwaq tego chyba nie czytałeś: (Źródło: pl.php.net):
Cytat
Dostęp do pojedynczego znaku łańcucha jest możliwy po podaniu jego indeksu (ofsetu) w nawiasach klamrowych, zaraz po nazwie zmiennej. Pierwszy znak w łańcuchu ma indeks zero.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.09.2025 - 20:09