| Новости | FAQ | Авторы | Документация | В действии | Библиотека | 
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум | 
G_Z 12.08.2013 00:48 / 12.08.2013 00:50
Если вам известен маркер, то проще всего искать по нему.^if(^agent.pos[Windows NT 6.1] > -1){…}Если нужно не просто проверить платформу, а работать с каждым сегментом, то нужно разобрать заголовок на части и проверять каждую. @detect[agent][user_agent]
$result[^hash::create[]]
$user_agent[^agent.match[…;i]]
^if($user_agent){
	$result.product[
		$.name[$user_agent.1]
		$.version[$user_agent.2]
	]
	$result.os[
		$.name[$user_agent.3]
		$.version[$user_agent.4]
	]
	$result.layout[
		$.engine[$user_agent.5]
		$.version[$user_agent.6]
	]
	$result.browser[
		$.name[$user_agent.7]
		$.version[$user_agent.8]
	]
	…
}
@some_method[]
…
$user_agent[^detect[$agent]]
# проверки
^swith[$user_agent.os.version]{
	^case[6.0]{Vista}
	^case[6.1]{7}
	…
}Учтите, что формат User-Agent вольный и полноценный разбор довольно сложен.