П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 180063 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 78103 раз(а).

Учебник HTML.
Просмотров 75522 раз(а).

Руководство по PHP5.
Просмотров 46578 раз(а).

Хостинг через призму DNS.
Просмотров 53966 раз(а).

Подборка текстов стандартных документов.
Просмотров 46499 раз(а).

Учебник PHP - Самоучитель
Просмотров 52655 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 53252 раз(а).

Внешние атаки...
Просмотров 43065 раз(а).

Учебник PHP.
Просмотров 38632 раз(а).

SSI в примерах.
Просмотров 28578 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Глава 15: Другие операции преобразования данных.
15.1 Поиск подстроки

Успех поиска подстроки зависит от того, где вы ее потеряли. Если вы потеряли ее в большей строке — вам повезло, потому что в такам случае может помочь операция index. Вот как ею можно воспользоваться:

$х = index($строка, $подстрока)

Perl находит первый зкземпляр указанной подстроки в заданной строке и возвращает целочисленный индекс первого символа. Возвращаемый ин-декс отсчитывается от нуля, т.е. если подстрока найдена в начале указанной строки, вы получаете 0. Если она найдена на символ дальше, вы получаете 1 и т.д. Если в указанной строке нет подстроки, вы получаете -1.

Вот несколько примеров:

$where = index("hello","e") ;

$person = "barney";
$where = index("fred barney",$person);

$rockers = ("fred","barney");
$where = index(join(" ",Orockers),$person); # то же самое

Отметим, что и строка, в которой производится поиск, и строка, которая ищется, может быть литеральной строкой, скалярной переменной, содержа-щей строку, и даже выражением, которое имеет строковое значение. Вот еще несколько примеров:

$which = index("a very long string","long"); # $which получает 7

$which = index("a very long string","lame"); # $which получает -1

Если строка содержит искомую подстроку в нескольких местах, то функция index возвращает первый относительно начала строки индекс. Чтобы найти другие зкземпляры подстроки, можно указать для этой функции третий параметр — минимальное значение позиции, которое она будет возвращать при поиске зкземпляра подстроки. Выглядит это так:

$х = index($большая_строка,$маленькая_строка,$пропуск)

Вот несколько примеров того, как работает этот третий параметр:

$where = index("hello world","l"); # возвращает 2 (первая буква l)
$where = index("hello world","l",0); # то же самое 
$where = index("hello world","l",1); # опять то же самое
$where = index('hello world","l",3); # теперь возвращает З
                      # (3 - первая позиция, которая больше или равна 3)
$where = index('hello world","о",5) ; # возвращает 7 (вторая о)
$where = index('hello world","о",8) ; # возвращает -1 (ни одной после 8)

Вы можете пойти другим путем и просматривать строку справа налево с помощью функции rindex, чтобы получить правый крайний зкземпляр. эта функция тоже возвращает количество символов между левым концом строки и началом подстроки, как и раньше, но вы получите крайний правый зкземпляр, а не первый слева, если их несколько. Функция rindex тоже принимает третий параметр, как и функция index, чтобы вы могли получить целочисленный индекс первого символа зкземпляра подстроки, который меньше или равен адресу выбранной позиции. Вот несколько примеров того, что можно таким образом получить:

$w = rindex("hello world","he"); # $w принимает значение О
$w = rindex("hello world","l"); # $w принимает значение 9 (крайняя правая l)
$w = rindex("hello world","о"); # $w принимает значение 7
$w = rindex("hello world","o"); # теперь $w принимает значение 4
$w = rindex("hello world","xx"); # $w принимает значение -1 (не найдена)
$w = rindex("hello world","о",6); # $w принимает значение 4 (первая до 6)
$w = rindex("hello world","o",3); # $w принимает значение -1 (не найдена до 3)

Назад | Вперед
Содержание (общее) | Содержание раздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru