Обработка строкПример:
$a = strlen("qwerty");.
В переменной $a будет число 6, так как длинна строки - 6 символов. Еще одна интересная возможность языка РНР - перевод текста (а значит - и символьных строк) из одной кодировки в другую. Это очень полезно, если нужно согласовать кодировки, например, сайта и почтовой программы. Причем поддерживаются самые распространенные русские кодировки: stringconvert_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
Htmlspecialchars - переводит специальные символы в коды HTML. htmlspecialchars(string); Определенные символы имеют особоезначение в HTML и должны быть заменены кодами HTML, если они таковые имеют. Эта функция возвращает строки с произведенными такими изменениями. Функция полезна для отчистки полученного от пользователя текста отразметки HTML (доски сообщений, гостевые книги). Осуществляются следующие замены:
'&' (амперсанд) становится '&'
'"' (двойные кавычки) становится '"'
'<' (знак меньше) становится '<'
';gt;' (знак больше) становится '>'
Следует отметить, что эта функция незаменяет ничего, кроме указанного выше. Для полной обработки применяют функцию htmlentities(). Она переводит все возможные символы в коды HTML. Htmlentities(string); Эта функция идентична htmlspecialchars() , кроме того, что все символы, которые имеют соответствующий код HTML, заменяются на этот HTML код. В настоящее времяприменяется кодовая таблица ISO-8859-1.
Отдельно следует рассмотреть функции поиска в строке. Strchr - Находит первоепоявление символа. strchr(haystack, needle); Эта функция является псевдонимом для функции strstr(), и полностью ей идентична. Возвращает все haystack с первого появлениястроки needle и до конца. Если параметр needle не найден, то возвращается false. Если параметр needle не является строкой, то он переводится в целое число и рассматривается как числовое значение символа.
Strrpos - Находит позицию последнего появления символа в строке. Strrpos(haystack, needle); Возвращает номер позиции последнего появления символа needle встроке haystack. Следует отметить, что needle вэтом случае может быть толькоединственным символом. Если в качествепараметра needle указывается строка, тотолько первый символ будет использован.Если needle не найден, то возвращается false.Если параметр needle не является строкой,то он переводится в десятичное число ирассматривается как числовое значениесимвола. Strrchr -- Находит последнеепоявление символа в строке. Strrchr(haystack, needle); Эта функция возвращает позицию haystack, с которой начинается последнее появление needle и продолжаетсядо конца haystack. Возвращает false если needle не найдена. Если параметр needle содержит более чем один символ, то используется первый символ. Если параметр needle не является строкой, то он переводится в целое число и рассматривается как числовое значение символа. Пример:
// получение всего после последней новойстроки
$text = "Line 1\nLine 2\nLine 3";
$last = substr( strrchr( $text, 10 ), 1 );
Strtok - разбивает строку. strtok( arg1, arg2); Используется для разбиения строки. Это значит, что если вы имеете строку типа "Как хорошо программировать", то выможете разбить эту строку на отдельные слова, используя пробел в качестве разделителя.
$string = " Как хорошо программировать";
$tok = strtok($string," ");
while($tok) { echo "Word=$tok
Следует отметить, что только первый вызов функции strtok использует строковый аргумент. Для каждого последующего вызова функции strtok необходим только разделитель, так как это позволяет контролировать положение в текущей строке. Для начала заново или для разбития новой строки вам необходимопросто вызвать strtok с параметром строки опять для ее инициализации. Вы можете вставлять несколько разделителей впараметр разделителя. Строка будет разделяться при обнаружении любого из указанных символов. Также будьте внимательны к разделителям равным" 0". Это может вызвать ошибку в определенных выражениях.
<<< | >>>
Pages:
1 (2)
Comments (0)
Read: 479Last reading: 22 Aug 2024 (3:04)
Rating:
![0](../images/img/rating0.gif)
Total ratings:
0Rate
Back
Category
Home