note 115068 deleted from function.get-browser by cmb
| From: | cmb@php.net | Date: | Sun, 23 Feb 2020 08:55:18 +0000 |
| Subject: | note 115068 deleted from function.get-browser by cmb | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-214192@lists.php.net to get a copy of this message | ||
Note Submitter: haci at muratyaman dot co dot uk
----
I've just lost a day because of this stupid browser_name_regex property:
e.g. "§^mozilla/5\.0 \(.*windows nt 6\.1.*wow64.*\) gecko/.* firefox/29\.0.*$§"
To replicate the issue and work around bloody '§' character, please below. Whose idea
was it to use that character?!
<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
echo '$_SERVER[\'HTTP_USER_AGENT\'] => "' . $ua . '"<br
/>';
$browser = get_browser($ua);
echo 'get_browser($ua) => <pre>';
var_dump($browser);
echo '</pre><br />';
$json = json_encode($browser, JSON_PRETTY_PRINT);
echo 'json_encode($browser) => <pre>';
echo $json;
echo '</pre><br />';
echo 'json_last_error() => "' . json_last_error() . '"<br
/>';
//echo 'unsetting $browser->browser_name_regex <br />';
//unset($browser->browser_name_regex);
//or
echo '$browser->browser_name_regex = utf8_encode($browser->browser_name_regex);<br
/>';
$browser->browser_name_regex = utf8_encode($browser->browser_name_regex);
$json = json_encode($browser, JSON_PRETTY_PRINT);
echo 'json_encode($browser) => <pre>';
echo $json;
echo '</pre><br />';
echo 'json_last_error() => "' . json_last_error() . '"<br
/>';
?>