webForumDet fria alternativet

Ersätta första tecknet...

PHP

6 svar · 492 visningar · startad av Yossarian

Medlem sedan aug. 200469 inlägg
Frågan#1

Behöver hjälp med en kodrad som inte riktigt vill funka.
Tänkte formatera om ett telefonnummer så att det blir internationellt.
Alltså från 018123456 till +4618123456

Försökte med;
$phoneNumber = '+46' + substr($_SESSION[sesstfn],2,len($_SESSION[sesstfn])-1);

Någon som har bättre förslag?

Medlem sedan juni 20019 519 inlägg
#2

RegExp:

$phoneNumber = preg_replace('/0(\\d+)/', '+46$1', $_SESSION[sesstfn]);
Medlem sedan aug. 200469 inlägg
#3

Tack!

Medlem sedan aug. 200469 inlägg
#4

FAST!

Detta ersätter ju även om det ligger nollor med senare i telefonnumret?

Medlem sedan juni 20008 205 inlägg
#5

Lägg till ett tak innan nollan så matchar regexpen bara nollor som ligger först i strängen:

$phoneNumber = preg_replace('/[B]^[/B]0(\\d+)/', '+46$1', $_SESSION[sesstfn]);
Medlem sedan juni 20019 519 inlägg
#6

nej... det ska vara lugnt.. \d <<- träffar alla tal så... du skulle kunna skriva:

'/^0(\\d+)$/'

Om du vill endast träffa 1 sträng (från början till slut).

Medlem sedan aug. 200469 inlägg
#7

Ja, jag letade lite och hittade själv "^" och dess funktion.
Så nu är jag glad igen :) Tack iaf!

258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)