08. november 2005 - 20:58
Der er
13 kommentarer og 1 løsning
slette alle ,'ere til sidst i strengen
Hej eksperter! Hvordan sletter jeg alle tegn af en bestemt type til sidst i en variable? Altså hvis den fx hedder $tekst = "fdsfjs,,,,;"; så vil jeg gerne have fjernet alle ,'erne til sidst så den hedder $tekst = "fdsfjs" På forhånd tak :)
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
08. november 2005 - 20:59
#1
Du kan bruge str_replace() str_replace(",","",$tekst);
08. november 2005 - 21:01
#2
Eller en funktion: function fjernKarakter($tegn,$tekst) { return str_replace($tegn,"",$tekst); } $tekst = fjernKarakter(",","fdsfjs,,,,;");
08. november 2005 - 21:10
#3
jeg må ikke fjerne alle, der kan være brugt ,'er inde i teksten som ikke skal fjernes
08. november 2005 - 21:19
#4
$tekst = "fdsfjs,,,,;"; $tekst = rtrim($tekst, ",");
08. november 2005 - 21:20
#5
... dur selvfølgeligt ikke hvis der også er et ';' - eller var det en tastefejl?
08. november 2005 - 21:24
#6
hehe ja det var en tastefejl da jeg vist fik ramt shift for tidligt :P ser smart ud! hvis du kan hjælpe med denne ville jeg blive ekstra glad, ellers opretter jeg et nyt spørgsmål så du også kan få point for den: hvad hvis der er to eller flere ,'er efter hinanden inde i teksten, kan man så lave den om til en enkel? det ville være kanon :) men ellers så læg et svar for den her!
08. november 2005 - 21:26
#7
$tekst = preg_replace("/,+/", ",", $tekst);
08. november 2005 - 21:28
#8
kanon :P men du glemte svaret ;)
08. november 2005 - 21:29
#9
Du kan bruge min funktion igen: $tekst = fjernKarakter(",,","fdsfjs,,,,;"); Og snakker vi generelt streng replacement, så er str_replace hurtigere end preg_replace()
08. november 2005 - 21:38
#10
jakobdo> Din funktion virker nu ikke helt som ønsket. F.eks. vil teksten: "fds,,,fjs" - blive til "fds,,fjs" og ikke til "fds,fjs" som ønsket.
08. november 2005 - 21:42
#11
Min første funktion ville virke på det som der blev spurgt om: Altså hvis den fx hedder $tekst = "fdsfjs,,,,;"; så vil jeg gerne have fjernet alle ,'erne til sidst så den hedder $tekst = "fdsfjs" (nu vil jeg bare surmule) :o)
08. november 2005 - 21:53
#12
Ja, men den efterspørgte løsning skulle jo altså kun slette dem der var i enden af strengen - ikke dem som var inde midt i strengen eller i starten. >:^)
08. november 2005 - 21:54
#13
... og et svar :^)
08. november 2005 - 23:26
#14
$tekst=rtrim($tekst,","); while($tekst!=str_replace(",,",",",$tekst)) { $tekst=str_replace(",,",",",$tekst); } Jeg ved ikke om der er den store forskel, andet end at dette fylder mere :) og ikke bruger de 'langsomme' :) reg_exp. Mvh. Johan
Vi tilbyder markedets bedste kurser inden for webudvikling