|
| format på tlf-nr Fra : Leonard |
Dato : 02-04-06 20:18 |
|
Jeg mangler en sikker metode til at formattere tlf-nr
Jeg har en variabel, der indeholder tlf-nr, men det kan stå med og
uden mellemrum og der kan være flere numre efter hinanden, fx:
66 14 14 48
66141448
+4566141448
66141448-65951448
Jeg vil gerne præsentere tlf-nr, så tallene står i grupper af 2:
66 14 14 48
66 14 14 48
+45 66 14 14 48
66 14 14 48 - 65 95 14 48
Det er jo nemt nok at begynde med en
$tlf = str_replace(" ","",$tlf);
men næste trin synes jeg ikke er så ligetil, men jeg tror et regulært
udtryk er vejen frem. Nogen der har et forslag?
--
Leonard
http:/leonard.dk/hjemmeside/
| |
Jacob Atzen (02-04-2006)
| Kommentar Fra : Jacob Atzen |
Dato : 02-04-06 22:04 |
|
On 2006-04-02, Leonard <usenet@leonard.dk> wrote:
> Jeg mangler en sikker metode til at formattere tlf-nr
> Jeg har en variabel, der indeholder tlf-nr, men det kan stå med og
> uden mellemrum og der kan være flere numre efter hinanden, fx:
[snip]
> men næste trin synes jeg ikke er så ligetil, men jeg tror et regulært
> udtryk er vejen frem. Nogen der har et forslag?
Forslag:
function FormatNumber($number) {
$numbers = array();
foreach(split("-", $number) as $n) {
preg_match_all('|\+?\d{2}|', $n, $matches);
$numbers[] = join(" ",$matches[0]);
}
print(join(" - ", $numbers)."\n");
}
Det er det pæneste jeg lige kan komme på.
--
Med venlig hilsen
- Jacob Atzen
| |
Peter Brodersen (02-04-2006)
| Kommentar Fra : Peter Brodersen |
Dato : 02-04-06 22:35 |
|
On Sun, 02 Apr 2006 21:17:42 +0200, Leonard <usenet@leonard.dk> wrote:
>men næste trin synes jeg ikke er så ligetil, men jeg tror et regulært
>udtryk er vejen frem. Nogen der har et forslag?
chunk_split() er din ven:
http://php.net/manual/en/function.chunk-split.php
<?php
print chunk_split("123213231232",2," ");
?>
Output:
12 32 13 23 12 32
--
- Peter Brodersen
Find dig selv: http://map.ter.dk/
| |
Johan Holst Nielsen (03-04-2006)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 03-04-06 14:47 |
|
Peter Brodersen wrote:
> On Sun, 02 Apr 2006 21:17:42 +0200, Leonard <usenet@leonard.dk> wrote:
>
>
>>men næste trin synes jeg ikke er så ligetil, men jeg tror et regulært
>>udtryk er vejen frem. Nogen der har et forslag?
>
>
> chunk_split() er din ven:
> http://php.net/manual/en/function.chunk-split.php
>
> <?php
> print chunk_split("123213231232",2," ");
> ?>
>
> Output:
> 12 32 13 23 12 32
Bliver blot ikke så pænt hvis der står
<?php
echo chunk_split("+4527123060"," ");
//output +4 52 71 23 06 0
?>
mvh
Johan
| |
Peter Brodersen (03-04-2006)
| Kommentar Fra : Peter Brodersen |
Dato : 03-04-06 17:43 |
|
On Mon, 03 Apr 2006 15:47:01 +0200, Johan Holst Nielsen
<spam@phpgeek.dk> wrote:
>Bliver blot ikke så pænt hvis der står
Helt korrekt.
Jeg missede den detalje, men læste det blot som en problemstilling med
at opdele en string med mellemrum med jævne intervaller.
--
- Peter Brodersen
Find dig selv: http://map.ter.dk/
| |
soren.malling@gmail.~ (03-04-2006)
| Kommentar Fra : soren.malling@gmail.~ |
Dato : 03-04-06 16:37 |
|
> Bliver blot ikke så pænt hvis der står
>
> <?php
> echo chunk_split("+4527123060"," ");
> //output +4 52 71 23 06 0
> ?>
Så kan du jo vælge og lave landekoden som sit eget felt og sige
<?php
$number = chunk_split("12345678",'2' ' ');
$number .= $landekode.$number;
echo $number;
?>
Skulle jeg da mene, ikke gennemtestet.
| |
Johan Holst Nielsen (03-04-2006)
| Kommentar Fra : Johan Holst Nielsen |
Dato : 03-04-06 17:30 |
|
soren.malling@gmail.com wrote:
>>Bliver blot ikke så pænt hvis der står
>>
>><?php
>>echo chunk_split("+4527123060"," ");
>>//output +4 52 71 23 06 0
>>?>
>
>
> Så kan du jo vælge og lave landekoden som sit eget felt og sige
>
> <?php
> $number = chunk_split("12345678",'2' ' ');
> $number .= $landekode.$number;
> echo $number;
> ?>
>
> Skulle jeg da mene, ikke gennemtestet.
Helt enigt - det vil være optimalt... men nu forstår jeg på Leonard som
om han får noget input fra et sted han ikke selv kan styre (og ud fra de
eksempler han har er der nogle med landekode - nogle uden osv...). Det
er mest der hvor problemet er :)
Mvh
Johan
| |
Erik Ginnerskov (04-04-2006)
| Kommentar Fra : Erik Ginnerskov |
Dato : 04-04-06 02:16 |
|
Leonard wrote:
> Jeg mangler en sikker metode til at formattere tlf-nr
> Jeg har en variabel, der indeholder tlf-nr, men det kan stå med og
> uden mellemrum og der kan være flere numre efter hinanden, fx:
>
> 66 14 14 48
> 66141448
> +4566141448
> 66141448-65951448
Og hvordan så, hvis nogen indtaster et nummer sådan:
66 141 448
Det er der nogen, som (af uransaglige årsager) finder smart.
--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk/
| |
Leonard (04-04-2006)
| Kommentar Fra : Leonard |
Dato : 04-04-06 07:38 |
|
"Erik Ginnerskov" <erik@donotspammmeplease.invalid> wrote:
>Og hvordan så, hvis nogen indtaster et nummer sådan:
>
>66 141 448
Så fjerner jeg mellemrummene og skriver det igen med mellemrum for
hver anden ## ## ## ##
Det gælder også hvis det skrives 6614 1448 eller 661 41 448 eller 6 6
1 4 1 4 4 8 eller ...
--
Leonard
http:/leonard.dk/hjemmeside/
| |
Henrik Stidsen (04-04-2006)
| Kommentar Fra : Henrik Stidsen |
Dato : 04-04-06 17:53 |
|
It happens that Erik Ginnerskov formulated :
> 66 141 448
> Det er der nogen, som (af uransaglige årsager) finder smart.
Nu er det nummer du bruger der heller ikke det bedste til det - men der
er adskillige numre der er smarte at skrive sådan, f.eks.:
76 117 117
70 133 233
Derudover syns jeg det er nemmest at sige telefonnumre i 2*4 - xxxx
xxxx.
--
Henrik Stidsen - http://henrikstidsen.dk/
"Health nuts are going to feel stupid someday, lying in hospitals dying
of nothing." - Redd Foxx
| |
Dennis Munding (04-04-2006)
| Kommentar Fra : Dennis Munding |
Dato : 04-04-06 21:57 |
| | |
Henrik Stidsen (05-04-2006)
| Kommentar Fra : Henrik Stidsen |
Dato : 05-04-06 19:22 |
|
Dennis Munding used his keyboard to write :
> Synes bedre om at sige det 4*2...
> Bare min mening...
Skal vist lige uddybe det lidt for det lyder forkert :)
Anyway, jeg siger telefonnumre som to blokke af 2*2 tal - hvilket på
skrift er 2*4 tal :)
Gad vide om det kan skrives mere forvirrende ? :)
--
Henrik Stidsen - http://henrikstidsen.dk/
"I told the doctor I broke my leg in two places. He told me to quit
going to those places." - Henny Youngman
| |
Leonard (05-04-2006)
| Kommentar Fra : Leonard |
Dato : 05-04-06 21:24 |
|
Henrik Stidsen <nntpspam@hs235.dk> wrote:
>Anyway, jeg siger telefonnumre som to blokke af 2*2 tal - hvilket på
>skrift er 2*4 tal :)
Når man skriver tlfnumre på en hjemmeside bør man tage hensyn til
hvordan en maskine læser det op og maskinen vil læse: 7532 6614 som
syvtusindefemhundredetoogtredive sekstusindesekshundredefjorten,
hvilket ikke er nemt at høre og derefter huske og taste. Derfor vil
jeg gerne vise tlfnumre som 75 32 66 14
--
Leonard
http:/leonard.dk/hjemmeside/
| |
Henrik Stidsen (05-04-2006)
| Kommentar Fra : Henrik Stidsen |
Dato : 05-04-06 22:01 |
|
Leonard has brought this to us :
> Når man skriver tlfnumre på en hjemmeside bør man tage hensyn til
> hvordan en maskine læser det op og maskinen vil læse: 7532 6614 som
> syvtusindefemhundredetoogtredive sekstusindesekshundredefjorten,
> hvilket ikke er nemt at høre og derefter huske og taste. Derfor vil
> jeg gerne vise tlfnumre som 75 32 66 14
Det kan der så være noget om - det er sådan set også ligemeget om det
skrives som xx xx xx xx eller xxxx xxxx, jeg vil sige det på samme måde
i langt de fleste tilfælde. Der er så virksomheder der bruger et xx xxx
xxx nummer som en del af deres reklamer og/eller deres image udadtil,
som regel er nummeret også meget nemmere at sige med den opdeling end
med en xx xx xx xx opdeling. F.eks. førnævnte 76 117 117 der absolut
ikke giver samme dynamik hvis man skriver og siger det som 76 11 71 17
- eller The Voice med deres 70 20 104 9 - en sær opdeling, men den
passer med deres frekvens.
--
Henrik Stidsen - http://henrikstidsen.dk/
This is not an automated signature. I type this in to the bottom of
every message.
| |
|
|