29. oktober 2003 - 13:11
Der er
20 kommentarer og 2 løsninger
Fjerne alle punktummer på nær det sidste
Jeg har en streng: $string = '123.456.679.012.457'; Hvordan fjerner jeg nemmest alle punktummer (.) på nær det sidste ? Den måde jeg ville bruge er bøvlet, håbede der var en fiks en :)
Annonceindlæg fra SuperOffice
29. oktober 2003 - 13:19
#1
$string = str_replace(".", "", $string).".";
29. oktober 2003 - 13:22
#2
ups :)
exp
Juniormester
29. oktober 2003 - 13:26
#3
$string = '123.456.679.012.457'; $string = split(".", $string); $string_new = $string[0].$string[1].$string[2].$string[3].".".$string[0]; echo $string_new;
exp
Juniormester
29. oktober 2003 - 13:27
#4
Hovsa - rettelse: $string = '123.456.679.012.457'; $string = split(".", $string); $string_new = $string[0].$string[1].$string[2].$string[3].".".$string[4]; echo $string_new;
29. oktober 2003 - 13:28
#5
Jeg tror du må have en lille funktion til at klare problemet. Fx: function fjern($str) { $arr = explode(".",$str); $last = array_pop($arr); $new = implode("",$arr).".".$last; return $new; } $string = '123.456.679.012.457'; echo fjern($string);
29. oktober 2003 - 13:30
#6
detox: Jeg snupper din, den er mest fiks :) Svar!
Slettet bruger
29. oktober 2003 - 13:31
#7
jeg synes da razors er den mest fikse og enkle... :)
29. oktober 2003 - 13:34
#8
<?php $string = '123.456.679.012.457'; $tal = explode(".", $string); foreach ($tal as $t) $out .= sprintf("%s%s", $t, (++$i == count($tal) - 1) ? "." : ""); print $out; ?>
29. oktober 2003 - 13:35
#9
el_barto, nu skal du ikke være fræk - jeg var bare lidt for hurtig :/ Men nu har jeg lavet en ny!
29. oktober 2003 - 13:36
#10
googolplex -> Den er genanvendelig ;o)
29. oktober 2003 - 13:39
#11
razors er pænere... =)
29. oktober 2003 - 13:41
#12
Jo, enig :-)
29. oktober 2003 - 14:03
#13
endnu pænere.. $str = '123.456.679.012.457'; $nystr = str_replace(".", "", substr($str, 0, strlen($str)-4)).substr($str, strlen($str)-4);
29. oktober 2003 - 14:10
#14
Hmm, hvorfor skal det være så bøvlet? $a='123.456.679.012.457'; $b = preg_replace('/\.([^\.]*)(?=\.)/','$1',$a); print "$a $b\n";
29. oktober 2003 - 14:29
#15
Eller med lidt færre tegn: $b = preg_replace('/\.(.*?)(?=\.)/','$1',$a);
29. oktober 2003 - 15:01
#16
erik -> REGEXP rykker!
29. oktober 2003 - 16:07
#17
erikjacobsen: hvad er $1 ?
29. oktober 2003 - 17:38
#18
præcis 100 cent
29. oktober 2003 - 17:53
#19
:P
29. oktober 2003 - 17:54
#20
Fatter bare ikke den preg_replace() så...
29. oktober 2003 - 18:29
#21
Nåååh, det $1 der står i det regulære udtryk...det kunne du jo bare have sagt... $1 er indholdet af det den første parantes matcher: (.*?)
29. oktober 2003 - 18:35
#22
Ok, tak :)
Vi tilbyder markedets bedste kurser inden for webudvikling