Path: csiph.com!weretis.net!feeder4.news.weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: "Christoph M. Becker" Newsgroups: de.comp.lang.php Subject: Re: Komplexe oder-Vergleiche optimieren Date: Sat, 19 Mar 2016 11:59:04 +0100 Organization: solani.org Lines: 38 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: solani.org 1458385131 6172 eJwFwQcBwEAIBDBL8MeUwyj+JTRRGNu4mJro6R3VtQ9sGo3by1DawED4dUU/Lglof5O06T8zHxGM (19 Mar 2016 10:58:51 GMT) X-Complaints-To: abuse@news.solani.org NNTP-Posting-Date: Sat, 19 Mar 2016 10:58:51 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 X-User-ID: eJwFwQkBwDAIA0BLpBAeORsU/xJ6R3V4hznduNxC3A7wXJW81puqv+R8c0J22A0rLFG00ZYHFZcQzw== In-Reply-To: Cancel-Lock: sha1:7wa9irbd7eI816/Rq38T0QUuQ3U= X-NNTP-Posting-Host: eJwFwYEBACAEBMCVkn8yTsT+I3RHNbFyGA0czpx6iys9gICj7t43jNWtqinSQ5sHHRH0yQ8XJxEE Xref: csiph.com de.comp.lang.php:3764 Klaus Ketelaer schrieb: > mit welchem Vorgehen ließe sich folgender Code am > besten optimieren? > > function is_spider ($agent) { > $result = false; > if (($agent == '') or > (strpos($agent,'bot') !== false) or > (strpos($agent,'spider') !== false) or > ) > { > $result = true; > } > > return $result; > } > > Es gibt so viele Wege, aber welcher bringt die beste > Performance? Das solltest Du am besten konkret selbst ausprobieren. Eine auszutestende Alternative wäre vielleicht: preg_match('/bot|spider|…/') Aber Du solltest auch ernsthaft über folgende Variante nachdenken: function is_spider ($agent) { throw new LogicException( 'Keine Sonderbehandlung für Spider, die sowieso nicht' . ' zuverlässig erkannt werden können!' ); } -- Christoph M. Becker