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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





Глава 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