webForumDet fria alternativet

Byta ut alla nollor i slutet på sträng.

PHP

10 svar · 236 visningar · startad av Rocket

Medlem sedan feb. 2000372 inlägg
Frågan#1

Hur gör jag om jag vill byta ut alla nollor i slutet till mellanslag?

20021200 ---> 200212  
20020000 ---> 2002    

Jag antar att jag ska använda ereg eller liknande...

Medlem sedan aug. 20002 975 inlägg
#2

Testa det här:

$tal = "20021200";

$tal = preg_replace("/[0]*$/", "", $tal);

echo $tal;
Medlem sedan feb. 2000372 inlägg
#3

*testat*

Medlem sedan feb. 2000372 inlägg
#4

Nollorna försvinner men jag vill att det förvarja nolla ska komma ett & nbsp; i stället.

Medlem sedan aug. 20002 975 inlägg
#5

Om du har det inne i en sträng kan du göra så här:

$tal = "Ett 20021200 tal";

$tal = preg_replace("/[0]*($|\\s)/", "$1", $tal);

echo $tal."<br>";
Medlem sedan aug. 20002 975 inlägg
#6

Ok, testa det här:

$tal = "20021200";

$tal = preg_replace("/[0](?=0*$)/", "&nbsp;", $tal);

echo $tal;
Medlem sedan feb. 2000372 inlägg
#7

Mycket bra.
Tack!

Medlem sedan feb. 2000372 inlägg
#8

Nu höjer jag ribban lite :)

Det kan ju vara så att:
$tal="20000000";
och då vill jag att det ska bli:
$tal="2000";

Alltså de fyra första siffrorna ska inte kunna ändras, ok?

Medlem sedan aug. 20002 975 inlägg
#9

Testa det här:

$tal = "20000000";

$tal = preg_replace("/(\\d\\d\\d\\d|)[0](?=0*$)/", "$1_", $tal);

echo $tal."<br>";

$tal = "20021200";

$tal = preg_replace("/(\\d\\d\\d\\d|)[0](?=0*$)/", "$1_", $tal);

echo $tal."<br>";
Medlem sedan feb. 2000372 inlägg
#10

Tack igen.

Hur fungerar $1 ?

Medlem sedan aug. 20002 975 inlägg
#11

Rocket skrev:

Tack igen.

Hur fungerar $1 ?

$1 hämtar det som finns i första parentesen, $2 i andra o.s.v.
$1 kan också skrivas \\1

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)