|  | 		    
					
        
         
          
         
	
          | |  | 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.
            
             |  |  | 
 |  |