Hallå!
Jag håller på att bygga en funktion som tar ett fritextfält och ökar på dess värde med ett hack. Några exempel på vad jag vill att den ska göra:
1 blir 2
1.1 blir 1.2
9.9 blir 9.10
v9,0 blir v9,1
v.9 blir v.10
v.19,9 blir v.19,10
v.19.0 blir v.19.1
v19 blir v20
etc.
Här är mitt fulförsök som funkar sånär som på att den inte klarar decimalerna och att is_numeric inte tar både punkt och komma vad det verkar.
Idéer? Tack!
Jag håller på att bygga en funktion som tar ett fritextfält och ökar på dess värde med ett hack. Några exempel på vad jag vill att den ska göra:
1 blir 2
1.1 blir 1.2
9.9 blir 9.10
v9,0 blir v9,1
v.9 blir v.10
v.19,9 blir v.19,10
v.19.0 blir v.19.1
v19 blir v20
etc.
Här är mitt fulförsök som funkar sånär som på att den inte klarar decimalerna och att is_numeric inte tar både punkt och komma vad det verkar.
Kod:
function next_version($str) { $string = $str; if( preg_match("/[0-9.,vV]/",$str) && strtolower(substr($str, 0, 2)) == 'v.' ) { $str = substr($str, 2); if( is_numeric($str) ) { $str = $str+1; $str = substr($string, 0, 2) . $str; $string = $str; } } elseif( preg_match("/[0-9.,vV]/",$str) && strtolower(substr($str, 0, 1)) == 'v' ) { $str = substr($str, 1); if( is_numeric($str) ) { $str = $str+1; $str = substr($string, 0, 1) . $str; $string = $str; } } elseif( preg_match("/[0-9.,]/",$str) ) { if( is_numeric($str) ) { $str = $str+1; $string = $str; } } return $string; }
Kommentera