irask
15.04.2006, 09:42:14
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?
hwao
15.04.2006, 10:13:41
Mozna

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
15.04.2006, 12:25:10
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
15.04.2006, 12:52:40
to co podal hwao to nie eregi tylko preg
irask
15.04.2006, 14:36:07
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
15.04.2006, 14:44:36
a) nie uzywaz forumowych znacznikow ;]

skad wytrzasnales te "array"?
<?php
$patterns = "@^([0-9]{2})([0-9]{3})([0-9]{2})([0-9]{2})$@";
$replace = "(0-\\1) \\2-\\3-\\4";
$telefon = "123456789";
?>
irask
15.04.2006, 14:57:24
dzięki znalazłem w manualu.
pozdrawiam