<?
$r="Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10";
preg_match_all("/(.*?)\/(.*?)/",$r,$q);
echo $q[0][0];
?>
мне нужно
из ето всего только браузер Opera/9.80
и система Windows NT
как правильно составитьрегулярку штоб выдирала ети данные?
Спустя 1 час, 29 минут, 14 секунд (17.06.2011 - 20:44) pak написал(а):
$s = 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10';
$a = explode(' ',$s);
$v = $a[0].'-'.$a[1].' '.$a[2];
$v = str_replace('(','',$v);
$v = explode('-',$v);
print_r($v);
Спустя 1 минута, 51 секунда (17.06.2011 - 20:46) Guest написал(а):
pak
в разных браузерах могут быть в разных местах
в разных браузерах могут быть в разных местах
Спустя 9 минут, 40 секунд (17.06.2011 - 20:56) tatti написал(а):
можно искать на соответствие с определёнными браузерами вместо использования регулярок.
if(strstr($s, 'Opera'))
{
// Opera
}
elseif(strstr($s, 'Firefox'))
{
// Firefox
}
elseif(strstr($s, 'IE'))
{
// IE
}
elseif(strstr($s, 'Safari'))
{
// Safari
}
else
{
exit('Your browser is unwanted in here. Cya!');
}
Спустя 21 минута, 49 секунд (17.06.2011 - 21:17) qaz333 написал(а):
ага, а вот толькошто возникла идея как состпвить регулярку штоб выдерала
1) всё што до знака (
2) всё што после знака ( и до ;
??
1) всё што до знака (
2) всё што после знака ( и до ;
??
Спустя 24 минуты, 43 секунды (17.06.2011 - 21:42) tatti написал(а):
#^(\()(\()$# вроде так
Спустя 5 часов, 29 минут, 8 секунд (18.06.2011 - 03:11) walerus написал(а):
Цитата (tatti @ 17.06.2011 - 18:42) |
#^(\()(\()$# вроде так |
Малость не так.
$s = 'Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10';
preg_match( '~^(.*)\((.*);~iUs', $s, $ff);
print_r($ff);
/*
Array
(
[0] => Opera/9.80 (Windows NT 5.1;
[1] => Opera/9.80
[2] => Windows NT 5.1
)
*/
вот так.