PHP SQL
PHP SQL .ru
  Главная  Уроки  PHP  MySQL  jQuery  RegEx  CSS  Книги  Форум  
 Функции


  На главную

  Назад  Вперед

  Печать

Поиск подстрок

У РНР есть несколько функций для поиска подстроки в строке. Какую из них использовать, зависит от ожидаемого результата. Вот три базовых функции:

• strops () находит позицию первого вхождения подстроки в строку.

• strrpos () находит позицию последнего вхождения подстроки в строку.

• strstr () возвращает все после первого вхождения подстроки.

Все три эти функции возвращают false, если подстрока не найдена. Рассмотрим следующий сценарий, выполняющий поиск подстроки:

<?php
$string = "I approve of Senator Foghorn`s performance in the War on
Buttermilk. My name is Ferrett Steinmetz, and I approved this message.";
$search_term - \"approve\";
// Проверка вхождения в строку
$pos = strpos($string,  `approve`);
if ($pos === False)  {
print "$term not in string
"; 
} else {
print "position: $pos
";
print "last position: " . strval(strrpos($string, $search_term))  . "
";
print strstr($string, $search_term) . "
"; 
//----------------------------------------
print substr($string, strrpos($string, $search_term))   . "
"; 
//----------------------------------------
}
?>
Что может быть не так?

Вы можете столкнуться с тремя проблемами. Во-первых, как было отмечено раньше, при сравнении строк вы всегда должны использовать оператор === вместо оператора ==. «Тройной» оператор сравнения всегда проверяет значения и типы переменных. Это очень важно, поскольку вы можете получить 0 как правильное значение от strpos () и пустую строку как правильное значение от strstr () и strpos (), но оба эти значения будут равны false при использовании ==.

Во-вторых, эти функции чувствительны к регистру символов. Вызов strstr ($string, `Approved1`) в предыдущем примере вернет False. Нечувствительные к регистру версии функций strpos (), strrposO и strstr () называются, соответственно, stripos (), strripos () и stristr ().

Наконец, помните, что все эти проверки подходят для очень простых подстрок, не слов. Если вам нужны более мощные инструменты поиска, используйте регулярные выражения, о которых мы поговорим ниже.

 
Предыдущая   На главную   Следующая          

Ваш комментарий:

'

Реклама на сайте | Обмен ссылками | Ссылки | Контакты
Добавить статью | Добавить исходник
2010-2014 © phpsql.ru