![]() |
preg_match fråga
$return = $this->$var === null ? (bool) preg_match("/" . $this->devices[$device] . "/i", $this->userAgent) : $this->$var;
Jag har denna preg_match rad i min mobilkoll fil och den fungerar bra på alla utom symbian. Och jag kollar mot symbian (kindle|mobile|mmp|midp|o2|pda|pocket|psp|symbian| smartphone|treo|up.browser|up.link|vodafone|wap|no kia) Men när jag kollar useragent på symbian mobilen visar den Symbian/3 och, min fråga är då vad gör" /" och "/i " i preg_match functionen. kan det göra att den inte hittar Symbian. Jag har även provat att lägga in Symbian/3 i $devices. Men i alla fall så har jag surfat runt ett tag nu för att försöka förstå vad "/" gör men har inte lyckats hitta någonting om det. någon som vet? |
Din regexp ser ut som om den borde matcha Symbian/3 för mig.
/ i början och slutet är bara avgränsare (eng delimeters) och är bara containers av mönstret, ungefär som citations-tecknena för php. De kan bytas ut mot andra tecken, bland annat # är också rätt vanlig. "i" efter din slut-avgränsare är en modifier som säger att mönstret inte ska göra skillnad på stora och små bokstäver. Denna kan bugga i vissa setups, testa att se om Symbian gör skillnad för dig (och gör den det har du ett större problem). |
Den funka på iphone som har iPhone i user agent, men jag ska prova med Symbian i stället när jag får in telefonen, den är nämligen inte min så jag får passa på och testa när den kommer förbi. Men man kan alltså byta ut / mot #?
|
Det fungerar nu, jag la till nokia kan är det där för
|
Alla tider är GMT +2. Klockan är nu 19:28. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson