如何使strpos不区分大小写

Ene*_*oma 44 php strpos

如何更改strpos以使其不区分大小写.原因是如果product->nameMadBike并且搜索词是自行车它不会回应我的链接.我主要担心的是代码的速度.

<?php
$xml  = simplexml_load_file('test.xml');
$searchterm = "bike";
foreach ($xml->product as $product) {
if (strpos($product->name, $searchterm) !== false ) {
echo $product->link;
} }
?>
Run Code Online (Sandbox Code Playgroud)

Der*_*sed 98

您正在寻找 stripos()

如果您无法使用,则只需先调用strtolower()两个字符串.

编辑:

stripos() 如果你想找到一个带有变音符号的子串,它将无法工作.

例如:

stripos("Le?y Jerzy na wie?y i nie wierzy, ?e na wie?y le?y du?o JE?Y","je?y");返回false,但它应该返回int(68).

  • 不,但它比首先使用`strtolower()`略快; 平均而言,它(`stripos`)似乎需要大约2.5倍(比`strpos`).然后,你仍然可以每秒做一百万次(`stripos`),所以我不会太担心它 - 过早的优化是所有邪恶的根源. (4认同)

Tur*_*ole 11

http://www.php.net/manual/en/function.stripos.php

stripos()不区分大小写.

  • 我责备互联网小精灵,用陈旧的服务器灰尘阻塞管. (2认同)