# Строки

Двойные кавычки разименовывают переменную. Если нет пробелов со следующим текстом, то нужно в фигурныех скобках:

```php
$n = 12;
echo "You are {$n}th number";
```

Одинарные - как есть.

**Формат heredoc**

```
$clerihew = <<EndOIOuote 
Съешь ещё этих мягких 
французских булок, 
да выпей чаю. 
EndOIOuote; 
echo $clerihew; 
```

**Вывод строк:**

```php
echo "one", "two";
print("some");
```

Есть еще printf, print\_r, var\_dump

**Функции:**

<table border="1" id="bkmrk-strlen%28%24string%29%3B-%D0%B4%D0%BB%D0%B8" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 30.4167%;"></col><col style="width: 69.7025%;"></col></colgroup><tbody><tr><td>strlen($string);</td><td>длина строки</td></tr><tr><td>trim(), ltrim(), rtrim()</td><td>обрезание лишних пробелов слева и справа, второй необ. параметр - список символов, удаляемых вместе с пробелами</td></tr><tr><td>strtolower() strtoupper()</td><td>всю строку</td></tr><tr><td>ucfirst()</td><td>одну первую букву всей строки</td></tr><tr><td>ucwords()</td><td>первую букву каждого слова</td></tr><tr><td>htmlentities() htmlspecialchars{)</td><td>Преобразование сырой строки в html-безопасную строку</td></tr><tr><td>strip\_tags()</td><td>Удаление html тегов</td></tr><tr><td>get\_meta\_tags()</td><td>возвращает массив МЕТА-тегов НТМL­  
страницы, указанный в виде URL или локального файла</td></tr><tr><td>rawurlencode() rawurldecode{)</td><td>кодирование/декодирование строки согласно URL-соглашению RFC 3986</td></tr><tr><td>addslashes() stripslashes()</td><td>экранировать/убрать обратный слеш перед: одинарные кавычки, двойные кавычки, NUL-байты и об­ратные слеши</td></tr><tr><td>strrev()</td><td>порядок символов на обратный</td></tr><tr><td> str\_repeat()</td><td>Повтор строки n раз</td></tr><tr><td> str\_pad()</td><td>заполняет одну строку другой строкой</td></tr><tr><td>explode(separator , string \[,limit\]);

 implode(separator, array);

</td><td>разбитие / сборка</td></tr></tbody></table>

Сравнение и поиск строк:

<table border="1" id="bkmrk-soundex%28%29-%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 30.6548%;"></col><col style="width: 69.4644%;"></col></colgroup><tbody><tr><td>soundex()</td><td>Сравнение степени похожести звучания (не написания) двух строк</td></tr><tr><td>metaphone()</td><td>Более мягкое сравнение степени похожести звучания (не написания) двух строк</td></tr><tr><td>similar\_text()</td><td>воз­вращает число одинаковых символов, которые есть в двух переданных стро­ках. В третий параметр, если он задан, заносится степень похожести двух строк, выраженная в процентах</td></tr><tr><td>levenshtein()</td><td>Вычисляет расстояние Левенштейна между двумя строками</td></tr><tr><td> substr(string, start \[, length \]);</td><td>  
</td></tr><tr><td>suЬstг\_соuпt(большая\_строка, маленькая\_строка)</td><td>сколько раз меньшая строка встречается в большей строке</td></tr><tr><td>substr\_replace(original, new, start \[, length \]); </td><td> заменяет часть строки original начинающуюся с символа с поряд­ковым номером start и длиной length строкой new и возвращает результат.   
Если не задан четвертый аргумент, substr\_replace() удаляет текст, начи­ная с позиции start до конца строки.

length в 0 для вставки без удаления

"" для удаления без вставки

Если start - отрицательное число, замена начинается с символа с порядко­вым номером start, считая от конца строки

Отрицательное значение аргумента length определяет количество символов   
от конца строки, на котором заканчивается замена

</td></tr><tr><td> strpos() strrpos()</td><td>первая / последняя позиция

</td></tr><tr><td> strspn(), strcspn()</td><td>длина участка. в начале строки, полностью соответствующего маске

</td></tr><tr><td> parse\_url()</td><td>массив составляющих URL

parse\_url("http:/ /me:secret@example.com/ cgi-bln/board?user=fred" );

(

\[scheme\] =&gt; http   
\[host\] =&gt; example.com   
\[user\] =&gt; me   
\[pass\] =&gt;· secrel   
\[path\] =&gt; /cgi-bln/board   
\[query\] =&gt; user=fred

)

</td></tr></tbody></table>