Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $value = "en-us,en;q=0.7,ar-iq;q=0.3";
- $accepted = array();
- if (preg_match_all("/\s*([^,;]+)(?:;\s*q=([\d.]+))?/", $value, $m, PREG_SET_ORDER)) {
- foreach ($m as $lang) {
- $accepted[] = array(
- 'lang' => $lang[1],
- 'q' => isset($lang[2]) ? (float)$lang[2] : 1
- );
- }
- }
- usort($accepted, function($l1, $l2) {
- return ceil((float)$l2['q'] - (float)$l1['q']);
- });
- var_dump($accepted);
Add Comment
Please, Sign In to add comment