Справочники, инструменты, документация

PHP: Строки (cниппеты)

Коллекция готовых полезных функций и коротких сниппетов для работы со строками.

Удаляет пробелы

$step = trim($step) // удаляет пробелы в начале и в конце строки
$step = ltrim($step) // удаляет пробелы в начале строки
$step = rtrim($step) // удаляет пробелы в конце строки

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

$string="Здесь много лишних пробелов!";
$string=ereg_replace(" +"," ",$string);
echo $string; 

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

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

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

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

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

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

Удаление всех тэгов

$string="<b>мой жирный текст</b>";
$string=strip_tags($string);
echo $string; 

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

$string="<h1>большой текст</h1> <b><i>текст</i></b>";
$string=strip_tags($string,"<b><i>");
echo $string; 

Количество символов в строке

// считаем при помощи strlen количество символов в строке
$count = strlen($text);

Преобразует в нижний регистр

// преобразует строку в нижний регистр
strtolower();

Вырезаем первые 10 символов из строки

$line = substr($line,0,10);

Вырезаем всю оставшуюся часть строки после 10 символа

$line = substr($line,9);

Находим позицию буквы Д в строке

$line = strpos($line, 'Д');

Проверяю строку

$string = 'Сисадмин';
echo "$string<p>";
if(ereg("^С[а-я]*", $string))
{
 echo 'Строка начинается с буквы С';
}

Заменяем %text%

Например на слово хорошее, строгий регистр, т.е. заменится только %text%, но не %TexT%:

$string="Сегодня у меня %text% настроение.";
$string=str_replace("%text%","хорошее",$string);
echo $string; 

Например на слово плохое, нестрогий регистр, т.е. заменится %Text%, %TEXT%, %TexT%, %tExT%:

$string="Сегодня у меня %Text% настроение.";
$string=eregi_replace("%text%","плохое",$string);
echo $string; 

Проверяем, есть ли в тексте определенное слово

Проверяем, есть ли в тексте слово привет, нестрогий регистр, т.е. ищется и ПриВеТ, и ПРИВЕТ и приВЕТ и т.д.:

$string="Всем привет, как делишки? :)";

if(eregi("привет",$string))
{
# если слово найдено, то
# выполняется эта часть кода
}

else
{
# если слово не найдено, то
# выполняется эта часть кода
} 

Проверяем, есть ли в тексте слово хорошо, строгий регистр, т.е. ищется только слово хорошо:

$string="пусть всё будет хорошо";

if(ereg("хорошо",$string))
{
# если слово найдено, то
# выполняется эта часть кода
}

else
{
# если слово не найдено, то
# выполняется эта часть кода
} 

Проверяем, есть ли в тексте символ @:

$string="Меня зовут В@сей";

if(strstr($string,"@"))
{
# если символ найден, то
# выполняется эта часть кода
}

else
{
# если символ не найден, то
# выполняется эта часть кода
} 

Кодирум текст в crc32

$string="всем привет";
$string=crc32($string);
echo $string; 

Кодирум текст в md5

$string="всем пока";
$string=md5($string);
echo $string; 

Заменяем [b] на <b> и [/b] на </b>

$string="<b>как делишки?</b>";
$string=htmlspecialchars($string);
echo $string; 

Считываем первые 10 символов из текста

$string="мне нравится программировать на...";
$string=substr($string,0,10);
echo $string; 

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

$words="6"; # количество считываемых слов
$string="Сегодня я забрёл на хороший сайт. Адрес не скажу!!! :)";
$array=explode(" ",$string);
for($i=0;$i<$words;$i++)
{
$new_string.=$array[$i]." ";
}
$string=trim($new_string);
echo $string; 

Определяем количество символов в тексте

$string="Мой дядя самых честных правил.";
$symbols=strlen($string);
echo $symbols; 

Заменяем все буквы в тексте на маленькие

$string="ВоЛнОоБрАзНыЙ ТеКсТ";
$string=strtolower($string);
echo $string; 

Заменяем все буквы в тексте на большие

$string="Давайже жить дружно.";
$string=strtoupper($string);
echo $string; 

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

$string="ура! Тётя Ася приехала";
$string=ucfirst(strtolower($string));
echo $string; 

Избавиться от пустых строк в тексте

 function removeEmptyLines ($string) {
return preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", trim($string));
 }
 $s = 
 " За мусор енный

 \t
 т

екст\r\n\r\n";
 echo '<pre>'.removeEmptyLines($s).'</pre>';

Удалить из строки или текста все лишние разделители

Удалить из строки или текста все лишние разделители, в том числе, между словами (обратите внимание, что этот код также вытянет изначально многострочный текст в одну строку, иногда это удобно):

function trimall ($string) { 
return preg_replace("/\s+/"," ",trim($string));
 }
 $s = 
 " За мусор енный

 \t
 т

екст\r\n\r\n";
 echo '<pre>'.trimall($s).'</pre>';

Заменить текст в строке

str_replace('Apple', 'Orange', 'My favourite fruit is an Apple.');

Заменить несколько слов в строке

str_replace(array('fruit', 'Apple'), array('Vegetable', 'Carrot'), 'My favourite fruit is an Apple.');

Содержит ли строка определенное слово

if (strpos('My name is David.', 'David') !== false) {
    // String contains David
}

Разное

$line = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'; // задаем текстовое значение переменной
$pos = strpos($line, 'КЛМН'); // находим позицию где начинается отрезок нужных символов
$pos = $pos + strlen('КЛМН'); // находим позицию где заканчивается отрезок нужных символов
$a = substr($line,$pos); // вырезаем часть строки
echo($a); // выводим результат
На этой странице