Intereting Posts
SQLSTATE Невозможно подключиться к серверу MySQL на ошибке «127.0.0.1» (61) Laravel 4.1 Основы системы запоминания Symfony2 File Found Class не был в нем Попытка создать лидерство в динамическом CRM с использованием API в PHP Создание образа PHP из шестнадцатеричных значений в базе данных Codeigniter URI Class, как я могу использовать – дефис вместо _ подчеркивание? Создайте скрипт загрузки изображений PHP для переименования и изменения размера Что «реализует» делать на классе? Тип передачи Ajax перезаписывается по URL-адресу Самый быстрый способ обновить таблицу MySQL, если строка существует else insert. Более 2 уникальных ключей Вызов функции-члена prepare () для не-объекта PHP Help Передача данных с страницы на bootstrap modal с использованием SQL и PHP PDO с использованием вызовов PDO :: FETCH_PROPS_LATE и __construct ()? mysql_select_db () ожидает, что параметр 2 будет ресурсом, объект указан Правильно вызывать базу данных из модели в приложении MVC?

Как сделать регистр strpos нечувствительным

Как изменить strpos, чтобы сделать его не чувствительным к регистру. Причина в том, что product->name MadBike, а поисковый термин – это байк, он не будет эхо меня ссылку. Моя главная проблема – скорость кода.

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

Вы ищете stripos()

Если это вам не доступно, просто strtolower() вызовите strtolower() в обеих строках.

EDIT :

stripos() не будет работать, если вы захотите найти 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 () не чувствителен к регистру.

'i' в stripos () означает нечувствительность к регистру

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

введите имя и $ searchterm в нижнем регистре до $ strpos.

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