Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak sformatować ciąg cyfr?
Forum PHP.pl > Forum > Przedszkole
irask
mam taki problem, w bazie mam numery telefonów (wszystkie są w jednym ciągu 544561232) czy jest możliwość żeby wyświetlić ten numer w bardziej czytelny sposób np: (0-54) 456-12-32? rolleyes.gif
hwao
Mozna smile.gif

Np, wyrazeniami regularnymi

@^([0-9]{2})([0-9]{3})([0-9]{2})([0-9]{2})$@
(0-\\1) \\2-\\3-\\4

544561232
(0-54) 456-12-32?
irask
witam ponownie, przglądałem te wyrażenia ale nie wiem jak mam to podpiąć do kodu i jaką funkcję zastosować?

if ($telefon<>'')
{
if ($i<>0) {$sql=$sql."and ";};
$telefon = eregi_replace(" +","%",$telefon);
$sql=$sql."(telefon like '%$telefon%') ";
$i++;};

może mi ktoś w tym pomódz?
Vogel
to co podal hwao to nie eregi tylko preg
irask
troszkę jestem za cienki chyba żeby to zrobić, może mi ktoś powiedzieć co robę żle?

<?
$patterns = "array @^([0-9]{2})([0-9]{3})([0-9]{2})([0-9]{2})$@";
$replace = "array (0-\\1) \\2-\\3-\\4";



if ($telefon<>'')
{
if ($i<>0) {$sql=$sql."and ";};
$telefon = preg_replace(" +","%",$patterns, $replace, $telefon);
$sql=$sql."(telefon like '%$telefon%') ";
$i++;};
?>

z góry dziękuję :roll2:
Vogel
a) nie uzywaz forumowych znacznikow ;]
cool.gif skad wytrzasnales te "array"?

  1. <?php
  2. $patterns = "@^([0-9]{2})([0-9]{3})([0-9]{2})([0-9]{2})$@";
  3. $replace = "(0-\\1) \\2-\\3-\\4";
  4. $telefon = "123456789";
  5. $telefon = preg_replace($patterns, $replace, $telefon);
  6.  
  7. ?>
irask
dzięki znalazłem w manualu.

pozdrawiam biggrin.gif
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.