如何使strpos不区分大小写

如何更改条款使其不区分大小写。 原因是,如果product->nameMadBike ,search字词是自行车,它不会回应我的链接。 我主要关心的是代码的速度。

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

你正在寻找stripos()

如果这不适用于您,那么只需先在两个string上调用strtolower()

编辑

stripos()将不起作用,当你想find具有变音符号的substr。

例如:

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)。

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

stripos()不区分大小写。

stripos()中的 “i”表示不区分大小写

 if(stripos($product->name, $searchterm) !== false){ //'i' case insensitive echo "Match = ".$product->link."<br />; } 

在$ strpos之前使&$ searchterm小写。

 $haystack = strtolower($product->name); $needle = strtolower($searchterm); if(strpos($haystack, $needle) !== false){ echo "Match = ".$product->link."<br />; }