Интернет - справочник для веб-мастеров
    441-847-152
     
 
 
php, javascript,ajax,mysql,TIGER CMS
  Для начинающих
php, javascript,ajax,mysql,TIGER CMS
  Общие
php, javascript,ajax,mysql,TIGER CMS
  Безопасность
php, javascript,ajax,mysql,TIGER CMS
  Интересное
php, javascript,ajax,mysql,TIGER CMS
  Новости PHP
php, javascript,ajax,mysql,TIGER CMS
  PHP + AJAX
php, javascript,ajax,mysql,TIGER CMS
  JavaScript
php, javascript,ajax,mysql,TIGER CMS
  Дизайн
php, javascript,ajax,mysql,TIGER CMS
  Раскрутка
php, javascript,ajax,mysql,TIGER CMS
  Заработок
php, javascript,ajax,mysql,TIGER CMS
  Советы

   
 

   
 
 
1. Рейтинг сайтов



 
 
  Всего статей: 405
  Опубликовано: 405
  Проверяються: 0
  Добавлено сегодня: 0
-------------------------------------
  Прочитано статей: 405
  Всего прочтений: 124536
-------------------------------------
  Сейчас читают: 4 чел.


 

Форматирование строк [Версия для печати]
Разместил: admin . Раздел: Общие. Опубликовано: 09-20-2007 20:00:58

Часто строки, вводимые пользователем, приходится очищать от служебных символов, прежде чем эти строки можно будет использовать по назначению. Также, если предполагается сравнение данной строки с другими или хранение ее в базе, следует использовать следующие функции. 

string trim(string input) - удаляет пробелы, , , , v, в начале и конце строки; 
string ltrim(string input) - аналогична trim(), но удаляет пробелы в начале(слева) строки; 
string chop(string input) - аналогична trim(), но удаляет пробелы в конце(справа) строки; 

В большинстве случаев, когда скрипт (использующий информацию из файла либо из базы) работает некорректно, применение данных функций позволяет устранить ошибки. 
Функция nl2br() принимает строку в качестве параметра и заменяет в ней все символы новой строки XHTML-дескриптором.

Это полезно при выводе длинной строки в окне браузера.

Изменение регистра строки

Пусть дано выражение $str = "Органная музыка очень красива". 

Тогда, после применения следующих функций: 

strtoupper($str) возвратит "ОРГАННАЯ МУЗЫКА ОЧЕНЬ КРАСИВА"; 
strtolower($str) - "органная музыка очень красива", 
ucfirst($str) сделает первый символ (если он буквенный) строки прописным - "Органная музыка очень красива"; 
ucwords($str) - сделает прописным первый символ каждого слова в строке - "Органная Музыка Очень Красива"; 

Объединение и разделение строк с помощью строковых функций

 Часто возникает необходимость просматривать части строк по отдельности. Распространенная ситуация - клиент приносит вам .csv файл, созданный в Excel. И информацию, содержащуюся в этом файле с разделителями, необходимо представить в Web. Пусть в данном файле есть строка "Арманьяк;0,7 л.;Испания;1200 р.". Считав ее из файла с помощью fgets(), мы можем обработать ее следующими функциями:

 array explode(string separator, string input [, int limit]) - принимает строку input и делит ее на части по заданной разделительной строке separator; части строк возвращаются в виде массива; Можно ограничить число таких частей посредством необязательного параметра limit. 

Пример: 

$str = fgets($f, 1024);
$a = explode(';', $str); 
print_r($a);//распечатка массива

string strtok(string input, string separator) - в отличии от функции explode(), которая делит за один вызов на части сразу всю строку, данная функция позволяет получать фрагменты строки по одному за один вызов. В качестве разделителя можно использовать символ или строку символов, но следует иметь в виду, что строка ввода будет разделяться по каждому из символов разделителя, а не по всей строке разделителя. Внимание! Для получения первой лексемы из строки нужно вызвать функцию со строкой, которую требуется разбить на лексемы, и с разделителем. Чтобы получить из заданной строки последующие лексемы, достаточно передать функции один параметр, а именно, разделитель. Функция сохраняет собственный внутренний указатель на позицию разделителя в строке. Как правило, функция strtok() используется следующим образом: 

$str = fgets($f, 1024); 
$tok = strtok($str, ';'); 
echo $tok.'';
 while ($tok != ';') 

$tok = strtok(';'); 
echo $tok.''; 
}

Функция substr() 

 Данная функция позволяет получить доступ к подстроке между заданными начальной и конечной позициями в строке. 

Прототип: string substr(string str, int start[, int length]) - возвращает подстроку из строки str, начиная с позиции start длиной length. Если вызывать функцию с отрицательным значением параметра start, то получим строку, состоящую из символов, отсчитываемых с конца строки, число которых задано параметром start. 

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

Упорядочение строк 

int strcmp(string str1, string str2) - если две строки равны, то функция вернет значение 0; если в лексикографическом порядке строка str1 следует за (или больше чем) строкой str2, она вернет положительное число (и наоборот). Эта функция относится к числу чувствительных к регистру. 

Функция strcasecmp() идентична рассмотренной выше функции и отличается от нее только тем, что нечувствительна к регистру. Функция strnatcmp() и ее нечувствительный к регистру аналог strnatsasecmp() сравнивают строки в "естественном порядке", который более привычен для человека. Например, функция strcmp() располагает строку "2" после строки "12", поскольку лексикографически первая трока больше второй. Данные же функции располагают их в обратном порядке. 

Проверка длины строки 

strlen() - возвращает длину строки. Например, strlen('desert') вернет значение 6. 

Сопоставление и замена подстрок с помощью строковых функций 

Поиск строк в строках 

string strstr(string haystack, string needle) - используется для поиска соответствующей строки или символа внутри более длинной строки. Данная функция полностью совпадает по возможностям с strchr() (в отличии от аналогичной функции в языке С). Если строка needle будет найдена в строке haystack, функция возвращает часть строки haystack, начинающуюся со строки needle; в противном случае она возвращает значение false. Если строка needle встречается более одного раза, возвращаемая строка будет начинаться с первого вхождения строки needle. 

stristr() - идентична предыдущей функции, но в отличии от нее, не чувствительна к регистру. Также существует функция strrchr(), которая также идентична strstr(), но возвращает часть стоки haystack, начиная с последнего вхождения строки needle. 

Определение позиции подстроки

Функции strpos() и strrpos() действуют аналогично функции strstr() и отличаются от нее только тем, что вместо подстроки возвращают числовую позицию строки needle внутри строки haystack. 

Функция strrpos() возвращает позицию последнего вхождения строки needle в строке haystack, в отличии от strpos(), которая возвращает позицию первого вхождения. Важно: strrpos() работает только с односимвольной строкой (если передать ей многосимвольную строку в параметре needle, то она будет использовать первый символ переданной строки). Если needle не содержится в haystack, данные функции возвращают false. Иногда это является источником проблем, так как в таком слаботипизированном языке, как PHP, значение false эквивалентно 0, т.е., первому символу в строке. Избежать этой проблемы можно, воспользовавшись операцией === для проверки возвращаемых значений: 

if (strpos($str, 'p') === false) {...} 

Замена подстрок 

mixed str_replace(mixed needle, mixed new_needle, mixed haystack) - замещает все экземпляры строки needle в строке haystack на строку new_needle. Интересная особенность данной функции - можно передать все параметры как массивы, благодаря чему интеллектуальный уровень этой функции заметно возрастает. Можно задать массив слов, подлежащих замене, и массив слов, на которые, соответственно, будут заменены слова первого массива, а также массив строк, к которому эти замены будут применены. Рассматриваемая функция вернет массив пересмотренных строк. Например, можно использовать ее для цензурирования определенных терминов в приложении дискуссионного форума

string substr_replace(string str, string repl, int start[, int length]) - данная функция замещает часть строки str строкой repl. Какую именно часть - зависит от остальных параметров. Параметр start задает смещение, с учетом которого начинается замена. Если оно равно 0 или положительно, то смещение определяется относительно начала строки, если же оно отрицательно, то смещение определяется относительно конца строки. Параметр length (необязательный) задает позицию, в которой PHP прекращает замену. Если это значение не указано, замена производится с позиции, определенной параметром start, и до конца строки. Нулевое значение данного параметра означает, что строка замены будет вставлена в строку без перезаписи существующей строки. Положительное значение означает количество символов, которые должны быть заменены новой строкой. Отрицательное представляет собой позицию относительно конца строки, начиная с которой замена символов прекращается.

Источник: http://web-brodilka.ru   Прочитана 472 раз.
  Закладки:  
     
     
     
Google
 




     
Copyright 2007 by bvisoft.com