Есть ли способ проверить, является ли данная строка номером версии или нет? У меня есть некоторый пользовательский ввод, и мне нужно убедиться, что данная мне строка может использоваться в качестве номера версии. Я видел, что PHP имеет version_compare()
функция, но это похоже на сравнение двух версий друг с другом.
Я предполагаю, что данная строка должна быть «стандартизированной PHP» версией.
Я не уверен, что это лучший способ, но используя version_compare()
Я просто гарантировал, что это было по крайней мере 0.0.1
отфильтровывая строки «не версии»:
version_compare( $given_version, '0.0.1', '>=' )
Например:
if( version_compare( $_POST['_plugin_vers'], '0.0.1', '>=' ) >= 0 ) {
echo 'Valid Version';
} else {
echo 'Invalid Version';
}
if(preg_match('/^(\d+\.)?(\d+\.)?(\*|\d+)$/', $string)){
echo 'Valid';
} else {
echo 'Invalid';
}