![dormir](http://static.forosdelweb.com/fdwtheme/images/smilies/durmiendo.png)
Para determinar si una palabra es una "version" de algo........ me esforcé en no usar ereg() y preg_match pero bueno... quizas sea menos eficiente despues de todo:
Código PHP:
<?
Function is_num_char($char){
$c = ord($char[0]);
return ((strlen($char)==1) && ($c>=48) && ($c<=57));
}
Function is_version_word($str){ // intentar con preg_match
$first = $str[0];
$sub_str = substr($str,1);
$str = strtolower($str[0]).$sub_str; // la primera debe ser minuscula
$first_ver = ($str[0]=='v');
$first_num = is_num_char($str[0]);
$sub_after_ver = substr(strstr($str, 'v'),1);
$dot = strstr($sub_str, '.');
$caso1 = (($first_ver) and (is_num_char($sub_after_ver[0]))); // v2 v1.0
$caso2 = (($first_num) and ($dot)); // 10.0.12.36
return (($caso1) OR ($caso2));
}
$cadena = "7.04a";
echo var_dump(is_version_word($cadena));
?>
Valoro su opinion!
![Afirmando](http://static.forosdelweb.com/fdwtheme/images/smilies/afirmar.gif)
Cita:
... son todas "versiones" mientras que "2000" como Windows 2000, tambien lo seria.... no ? bueno... no se porque no lo consideré asi v8.0.3.28325
v1.0
v8.1
3.9
9.7
v2.1.358
4.0.0.1
10.0.12.36
7.04a
v1.0
v8.1
3.9
9.7
v2.1.358
4.0.0.1
10.0.12.36
7.04a