Вот посидел, подумал, и решил что пожалуй надо дать читателям хотя бы минимальное, общее представление о работе с строками. С чего же начать? Ведь очень часто, я в своей практике сталкивался с тем что надо что-то заменить или найти в строке. Пожалуй я не буду здесь описывать работу с регулярками (регулярными выражениями) ибо сам с ними весьма и весьма плохо уживаюсь, лучше предоставлю позднее литературу соответствоющего содержания в раздел документаций, а расскажу я о строковых функциях. Итак..нам надо заменить например одно слово другим как же это сделать? Давайте рассмотрим вот такой пример:
<?php
$string = "Вот блин строка такая";
$string_result = str_replace('блин','она',$string);
echo $string_result;
?>
Итак что же я здесь написал? Я создал строку $string и заменил в ней слово ‘блин’ на слово ‘она’. На выходе получаем
«Вот она строка такая». Кстати так же можно и удалять слова или символы если вместо слова вторым параметром в str_replace поставить пустые кавычки.
Ну с заменой разобрались, теперь посмотрим как можно найти текст в строке. Точне просто определить присутствует ли он в ней или нет. Для этого нам понадобится оператор substr_count
вот такой пример:
<?php
echo substr_count('Вот блин строка такая','блин');
?>
Данный пример выведет 1. Т.е в строке ‘Вот блин строка такая’ слово «блин» встречается единожды)
Теперь рассмотрим другой пример нам надо выделить некоторое количество символов (n) в строке начиная с символа порядковый номер которого m. В этом нам поможет оператор substr. Давайте посмотрим как он работает.
<?php
$n=1;
$m=3;
$string='абвгдеёж';
$string_result = substr($string,$n);
echo $string_result."\r\n"; //вернет все конца строки исключая первый символ, т.е. бвгдеёж
$string_result = substr($string,$n,$m);
echo $string_result;//вернет 3 символа начиная со 2-го включительно т.е. бвг
?>
Но это еще не предел использования данной функции. Иногда надо «взять» символы начиная с конца строки. Тогда n и m могут быть вообще отрицательными. Если n отрицательно а m полодительно будет возвращаться m символов начиная с символа n от конца строки. Если m отрицательно, то будет отброшено указанное этим аргументом число символов с конца строки.
<?php
$n=1;
$m=-4;
$string='абвгдеёж';
echo substr($string,$m,$n); //вернет д
$n=-1;
$m=-4;
$string='абвгдеёж';
echo substr($string,$m,$n); //вернет деё
?>
Кроме того можно обращаться к отдельным символам используя квадратные скобки:
<?php
$string='абвгдеёж';
echo $string[2];//выведет в
echo $string[0]; //выведет а.
?>
Часто программисту требуется превратить строку в массив чтобы удобнее было работать. Причем разделителем может быть любой символ. Непонятно?:) Ну что ж сейчас приведу пример чтобы было доступнее.
<?php
$string="Вот, такая, фигня";
$array = explode(",",$string);
foreach($array as $k=> $v)
{
print 'Элемент массива '.$k+1.' вот:'.$v.'<br/>';
}
?>
Сепаратор в данном случае «,» и каждый элемент массива это то что стоит между запятыми.
И последний оператор о котором я хотел бы написать в данной статье stristr.
Данный оператор находит подстроку в строке и возвращает первоначальную строку начиная с вхождения подстроки. Сложно? Сам туго понимаю что я тут написал. Ну ничего. Примеры щас все легко и наглядно обьяснят.
<?php
$string = 'adm@badcode.net.ru';
echo stristr($string,'@');//выведет @badcode.net.ru
?>
Так, я надеюсь, понятнее. Напомню, что здесь я привел лишь операторы которые наиболее часто использую. Если вы чего то здесь не нашли не отчаивайтесь. Свяжитесь со мной, написав здесь комментарий или на мыло admin[at]badcode.net.ru и я обязательно отвечу вам. Так же настоятельно рекомендую скачать русскоязычный мануал представленный здесь в разделе «Документации». Удачи вам в освоении php)