budimir Posted November 22, 2013 Share Posted November 22, 2013 Guys can any one tell me how to format a string to look like this: Original string: 531008058 Wanted string: 531 00 80-58 I can't find a proper solution... Thank you! Link to comment https://forums.phpfreaks.com/topic/284155-string-formating/ Share on other sites More sharing options...
requinix Posted November 22, 2013 Share Posted November 22, 2013 Always nine digits? I'd take the easy way out: substr($string, 0, 3) . " " . substr($string, 3, 2) . " " . substr($string, 5, 2) . "-" . substr($string, 7, 2) Link to comment https://forums.phpfreaks.com/topic/284155-string-formating/#findComment-1459490 Share on other sites More sharing options...
Barand Posted November 22, 2013 Share Posted November 22, 2013 Some years ago I wrote myself a general purpose utility function for formatting strings (part numbers, phone numbers etc) function formatIt($format,$str) { $i = $j = 0; $res = ''; $kf = strlen($format); $ks = strlen($str); while ($i < $kf && $j < $ks) { $res .= $format[$i]=='#' ? $str[$j++] : $format[$i]; ++$i; } if ($j<$ks) $res .= substr($str,$j); return $res; } $str1 = '531008058'; echo formatIt('### ## ##-##', $str1); // --> 531 00 80-58 // or phone numbers eg $str2 = '01234567890222'; echo formatIt('(####) ### #### ext ###', $str2); // --> (0123) 456 7890 ext 222 Link to comment https://forums.phpfreaks.com/topic/284155-string-formating/#findComment-1459499 Share on other sites More sharing options...
budimir Posted November 22, 2013 Author Share Posted November 22, 2013 Barand, exactly what I need!!! Thank you so much! Very usefull for other things. Link to comment https://forums.phpfreaks.com/topic/284155-string-formating/#findComment-1459519 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.