Библиотека программиста

25.04.2024 - Уроки программирования на PHP. Работа с текстом.

Данная публикация предназначена для тех кто делает первые шаги в PHP-программировании.
В статье приводятся примеры часто используемых методов работы с текстом.
После каждого примера идет краткое описание используемых функций.

Данная публикация предназначена для тех кто делает первые шаги в PHP-программировании. В статье приводятся примеры часто используемых методов работы с текстом. После каждого примера идет краткое описание используемых функций, описания взяты из официального руководства PHP. Примеры будут пополнятся по мере поступления вопросов от читателей.

Урок №1
Заменяем {text}, например на слово "студёную", строгий регистр, т.е. заменится только {text}, но не {TexT}:

PHP - Код
$string='Однажды в {text} зимнюю пору';
$string=str_replace('{text}','студёную',$string);
echo 
$string;



str_replace (search, replace, subject)

Эта функция возвращает строку или массив со всеми вхождениями search в subject, заменёнными данным значением replace.

Урок №2
Заменяем "летнюю", например на слово "зимнюю", нестрогий регистр, т.е. заменится "летнюю", "ЛЕТНЮЮ", "Летнюю", "леТНюю" и т.д.

PHP - Код
$string='Однажды в студёную летнюю пору';
$string=preg_replace('/летнюю/i','зимнюю',$string);
echo 
$string;


preg_replace (pattern, replacement, subject)

Эта функция выполняет поиск и замену регулярного выражения.
Ищет в subject совпадения с pattern и замещает их replacement, где pattern - это регулярное выражение, с которыми мы познакомся позже.

Урок №3
Считываем первые 5 символов из текста:

PHP - Код
$string='Капля никотина убивает лошадь, а хомяка разрывает на куски!';
$string=substr($string,0,5);
echo 
$string;


substr (string, start [, length])

Substr возвращает часть строки string, специфицированную параметрами start и length.

Если start положительный, возвращаемая строка начинается со start'овой позиции в string, отсчитываемой от нуля. Например, в строке 'abcdef' символ в позиции 0 это 'a', символ в позиции 2 это 'c', и так далее.

Урок №4
Считываем последние 5 символов из текста:

PHP - Код
$string='"Лучше колымить на Гондурасе, чем гондурасить на Колыме!';
$string=substr($string,-5);
echo 
$string;


Урок №5
Удаляем первые 5 символов из текста:

PHP - Код
$string='"Лес такой загадочный, а слез такой задумчивый';
$string=substr($string,5);
echo 
$string;


Урок №6
Удаляем последние 5 символов из текста:

PHP - Код
$string='Лучше стать дедушкой чем спать с бабушкой.';
$string=substr($string,0,-5);
echo 
$string;


Урок №7
Считываем символы с 3-го по 7-ой:

PHP - Код
$string='Меняю электропроигрыватель на электровыигрыватель.';
$string=substr($string,2,5);
echo 
$string;


Урок №8
Заменяем все буквы в тексте на маленькие:

PHP - Код
$string='Мне не нужен InterNet, я согласен на MiNet';
$string=strtolower($string);
echo 
$string;


strtolower (string)

Возвращает string со всеми алфавитными символами, конвертированными в нижний регистр.

Урок №9
Заменяем все буквы в тексте на большие:

PHP - Код
$string='Не учи отца и баста!';
$string=strtoupper($string);
echo 
$string;


string strtoupper (string)

Возвращает string со вмеси алфавитными символами, конвертированными в верхний регистр.

Урок №10
Меняем все буквы в тексте на маленькие и делаем самую первую букву заглавной:

PHP - Код
$string='отечественные поезда - самые поездатые поезда в мире.';
$string=ucfirst(strtolower($string));
echo 
$string;


ucfirst (string)

Возвращает строку с первым символом в верхнем регистре, если это алфавитный символ.

Урок №11
Замена нескольких пробелов на один:

PHP - Код
$string='Здесь       много        лишних        пробелов!';
$string=preg_replace('/ +/',' ',$string);
echo 
$string;


Урок №12

Удаление лишних пробелов по левому и правому краю текста:

PHP - Код
$string='       Текст с лишними пробелами по бокам.      ';
$string=trim($string);
echo 
$string;


trim (string)

Эта функция возвращает строку с вырезанными в начале и конце строки string пробелами.

Урок №13
Удаление лишних пробелов по левому краю текста:

PHP - Код
$string='     Текст с лишними пробелами по бокам.';
$string=ltrim($string);
echo 
$string;


ltrim (string)

Эта функция возвращает строку с вырезанными пробелами в начале string.

Урок №14
Удаление лишних пробелов по правому краю текста:

PHP - Код
$string='Текст с лишними пробелами по бокам.       ';
$string=rtrim($string);
echo 
$string;


rtrim (string)

Эта функция возвращает строку с вырезанными пробелами в конце string.

Урок №15
Удаление всех тэгов:

PHP - Код
$string='Спорить с тренером по борьбе может только тренер по стрельбе.';
$string=strip_tags($string);
echo 
$string;


strip_tags (str [, allowable_tags])

Эта функция пытается вернуть строку str с вырезанными тэгами HTML и PHP. Выдаёт ошибку с предупреждением в случае наличия неполных или ложных тэгов.
Вы можете использовать необязательный второй параметр для специфицирования тэгов, которые не должны вырезаться.

Урок №16
Удаление всех тэгов, кроме <b> и <i>:

PHP - Код
$string='<h1>Чистоплотность</h1> <b><i>это чисто масса на чисто объем';
$string=strip_tags($string,'<b><i>');
echo 
$string;


Урок №17
Проверяем, есть ли в тексте слово "разогнём", нестрогий регистр, т.е. ищется и "РаЗогНЁМ", и "РАЗОГНЁМ" и "разогнём" и т.д.:

PHP - Код
$string='Днем согнем, ночью разогнём.';

if (
preg_match('/разогнём/i',$string))
   {
   
// если слово найдено, то
   // выполняется эта часть кода
   
}
else
    {
    
// если слово не найдено, то
    // выполняется эта часть кода
    
}


preg_match (pattern, subject)

Ищет в subject совпадения с регулярным выражением, заданным в pattern.

Урок №18

Проверяем, есть ли в тексте слово "надо", строгий регистр, т.е. ищется только слово "надо":

PHP - Код
$string='Друзей не надо иметь, с ними надо дружить.';

if (
strstr($string,'надо'))
   {
   
// если слово найдено, то
   // выполняется эта часть кода
   
}
else
    {
    
// если слово не найдено, то
    // выполняется эта часть кода
    
}


strstr (haystack, needle)

Возвращает часть строки haystack от первого вхождения needle до конца haystack.
Если needle не найден, возвращает FALSE (ложь).

Урок №19
Считываем первые 6 слов из текста:

PHP - Код
$words='5'// количество считываемых слов
$string='Если автобусу изменит жена, то он станет троллейбусом.';
$newString=''// Объявляем новую переменную и присваиваем ей пустую строку
$array=explode(' ',$string);
for (
$i=0$i<$words$i++)
    {
    
$newString.=$array[$i].' ';
    }
$string=trim($newString); // Удаляем лишние пробелы
echo $string;


explode (separator, string)

Возвращает массив строк, каждая из которых является подстрокой строки string и сформирована путём разделения строки по границам образованными сепаратором строки separator.

Операция .= добавляет к строковой переменной новые символы.

Урок №20

Конвертируем текст с кодировком windows-1251 в кодировку koi8-r:

PHP - Код
$string='Компьютер без мыши, что коммерсант без крыши.';
$string=convert_cyr_string($string,'w','k');
echo 
$string;


convert_cyr_string (str, from, to)

Эта функция возвращает данную строку, конвертированную из одного набора символов кириллицы в другой.
Аргументы from и to это односимвольные аргументы, представляющие исходный и целевой наборы кириллицы. Поддерживаются типы:

k - koi8-r
w - windows-1251
i - iso8859-5
a - x-cp866
d - x-cp866
m - x-mac-cyrillic

Урок №21
Используем в качестве разделителя "||" (две вертикальных черты):
PHP - Код

$string
="Вася||Пупкин||25";
$array=explode&amp;lt;font color="#006600">('||',$string);
echo 
'Имя: '.$array[0].', фамилия: '.$array[1].', возраст: '.$array[2];


Урок №22
Заменяем <b> на &lt;b&gt; и </b> на &lt;/b&gt;:

PHP - Код
$string='<b>Если голова болит, значит, она есть. </b>';
$string=htmlspecialchars($string);
echo 
$string;


htmlspecialchars (string string)

Некоторые символы имеют в HTML специальное значение и должны быть представлены мнемониками HTML для сохранения своего значения.
Эта функция возвращает строку с выполненной конвертацией.
Используется для того, чтобы всякие нехорошие человеки не написали в вашей гостевой (например) нежелательных тегов, испортив тем самым её внешний вид.
Хотя эти и не единственное где можно применить данную функцию, мы поговорим об этом при случае 1

& (амперсанд) становится &amp;
" (двойная кавычка) становится &quot;
' (одинарная кавычка) становится &#039;
< (меньше) становится &lt;
> (больше) становится &gt;

Урок №23
Определяем количество символов в тексте:

PHP - Код
$string='Кто раньше встал, того и тапки.';
$length=strlen($string);
echo 
$length;


strlen (string)

Возвращает длину строки string.
Опубликовано на сайте: http://www.coders-library.ru
Прямая ссылка: http://www.coders-library.ru/index.php?name=news&op=view&id=222