Задача
Предположим, что требуется выделить часть строки, начиная с определенной позиции. Например, необходимы первые восемь символов имени пользователя, введенного в форму.
Решение
Для выделения подстроки применяется функция substr():
$substring = substr($string,$start,$length);
$username = substr($_REQUEST['username'],0,8);
Обсуждение
Если $start и $length больше нуля, то функция substr() возвращает $length символов строки, начиная с позиции $start. Первый символ находится в нулевой позиции:
print substr('watch out for that tree',6,5);
out f
Если пропустить $length, то функция substr() возвратит строку, начиная с позиции $start до конца первоначальной строки:
print substr('watch out for that tree',17);
t tree
Если $start плюс $length указывает на позицию за концом, то функция substr() возвращает всю строку до конца, начиная с позиции $start:
print substr('watch out for that tree',20,5);
ree
Если число $start отрицательное, то функция substr() определяет начальную позицию подстроки, считая от конца строки к началу:
print substr('watch out for that tree', -6);
print substr('watch out for that tree', -17,5);
t tree
out f
Если число $length отрицательное, то substr() определяет конечную позицию подстроки, считая от конца строки к началу:
print substr('watch out for that tree',15, -2);
print substr('watch out for that tree', -4, -1);
hat tr
tre
См. также
Документацию по функции substr() на http://www.php.net/substr