这是我的使用者:
Mozilla / 5.0(PlayStation 4 4.73)AppleWebKit / 536.26(KHTML,喜欢 壁虎)
我想将上述内容转换为:
PlayStation 4 4.73
我尝试了一些事情,例如剥夺了使用者的使用权,但这并没有成功 - 但是,确实如此,但它很慢,看起来并不专业。
什么是PHP中最好,最小,最快的方法来实现这一结果?
答案 0 :(得分:0)
如果你只想要“第一对()括号中的任何内容”......
$str = 'Mozilla/5.0 (PlayStation 4 4.73) AppleWebKit/536.26 (KHTML, like Gecko)';
$str = substr($str,strpos($str,'(')+1); // remove the first ( and everything before it
$str = substr($str,0,strpos($str,')')); // remove the first ) and everything after it
echo $str;
如果你想要更复杂的解析......(如果没有括号或只有一个开/关括号怎么办?如果要抓取的字符串中有一个(或),该怎么办 ?如果你想要 2nd 括号的内容,而不是第一个?的内容怎么办?)那么你将不得不做一些,呃,编程......
答案 1 :(得分:0)
以下是两种方法:
// smallest:
$comment = preg_split('/[()]/', $userAgent)[1];
// fastest:
$start = strpos($userAgent, '(') + 1;
$comment = substr($userAgent, $start, strpos($userAgent, ')') - $start));