
Първи стъпки в PHP – функции за текст
PHP е лесен език заради множеството функции, които представя.
Винаги можете да си дефинирате собствени функции, с които да постигнете търсен резултат. Почти винаги обаче е по-добре първо да потърсите. Току-виж съществува функция, която да ви върши работа. Ако е вградена в PHP вероятно ще е по-оптимизирана и ще работи по-бързо. Освен това тя вероятно е тествана по-добре и няма да се издъни в някой частен случай.
За да можем да ползваме правилните функции обаче, трябва да знаем за самите тях. В този урок ще разгледаме някои функции за работа със string-ове.
В официалната документация на PHP можете да намерите един доста подробен списък с такива функции: http://bg2.php.net/manual/en/ref.strings.php.
explode(string $delimiter, string $string[, int $limit ])
Връща масив от string-ове. Всеки от тях е част от аргумента $string, разделен на части от аргумента $delimiter.
Третият аргумент $limit ограничава броя на елементите във върнатия масив. При достигане на бройката, следващите елементи се връщат като един string.
Ако стойността на $limit е отрицателна, масивът ще съдържа всички елементи освен последните -$limit.
implode([string $glue ,] array $pieces)
Функцията връща string, който се състои от елементите на масива $pieces, слепени с друг string – $glue.
Функцията изглежда малко странно, тъй като незадължителният аргумент е първият. Просто самата функция проверява дали аргументът е string. Ако не е, свързва елементите един до друг, все едно, че $glue = ''.
htmlspecialchars(string $string)
Първо трябва да отбележа, че има и други (незадължителни) аргументи. В момента, обаче, ще разгледаме само първия.
Някои знаци (като >, <, " и други) имат специално значение за браузърите. Това е основно заради HTML. Ако искате да ги включите в съдържанието трябва да използвате съответстващите им HTML entities. Тази функция прави това за вас автоматично.
htmlentities(string $string)
Тази функция е подобна на htmlcpecialchars. Различава се по това, че конвертира не само символите, които със сигурност биха счупили HTML-а ви. Тя конвертира и други знаци, които могат да се използват директно (с правилна кодировка на файла и <meta /> декларация. Стига знаците да имат съответстващо HTML entity. Пример за такъв е знакът copyright – © (©).
htmlspecialchars_decode($string)
Обръща действието на htmlspecialchars.
html_entity_decode($string)
Обръща действието на htmlentities.
lcfirst(string $string)
Променя първата буква от $string да бъде малка.
ucfirst(string $string)
Обратното – променя първият знак да е главна буква.
strtolower(string $string)
Връща версия на $string, където всички букви са направени малки.
strtoupper(string $string)
Обратното – прави всичи букви главни.
ucwords(string $string)
Прави главна първата буква от всяка дума, съдържаща се в $string.
trim(string $str [, string $character_mask = " \t\n\r\0\x0B" ])
По подразбиране функцията премахва всякакъв whitespace (интервали, табове, нов ред) от началото и края на аргумента $string. Вторият аргумент на функцията може да изброи кои знаци да бъдат премахвани, ако искате да отрежете друго, а не whitespace.
ltrim(string $string)
Подобно на trim(), но само за началото (left trim).
rtrim(string $string)
Аналогично, но за края на $string.
nl2br(string $string [, bool $is_xhtml = true ])
Връща текст, където след знаци за нов ред (като \n) се добавя HTML таг за нов ред (<br />).
number_format(float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = ",")
Функцията работи с 1, 2 или 4 аргумента, но не и с 3.
Ако е подаден само 1 ($number) в числото ще се сложат запетая, отделящи хиляди, милиони и т.н.
Ако има и втори аргумент, ще бъде добавена и десетична точка след цялата част от числото и ще бъдат изписани $decimals цифри след нея.
Подавайки трети и четвърти аргумент може да се използват други знаци за отделяне на хиляди и десетична точка.
str_replace(mixed $search , mixed $replace , mixed $subject [, int &$count ])
Функцията връща string или масив, където $search се заменя с $replace в $subject.
str_ireplace(mixed $search , mixed $replace , mixed $subject [, int &$count ])
Разликата с предната функция е, че тази не взема предвид малки и главни букви.
str_repeat(string $input , int $multiplier)
Връща string, който повтаря $input $multiplier пъти.
str_shuffle(string $str)
Разбърква буквите в $str.
str_split(string $string [, int $split_length = 1 ])
Разделя буквите от $string в елементи на масив. По подразбиране всеки елемент съдържа по 1 буква. Възможно е да се подаде втори аргумент, който да укаже да се използват string-ове от по няколко букви в елемент на масива.
strip_tags(string $str [, string $allowable_tags ])
Премахва HTML тагове от $str, така че да остане само „чист“ текст. Възможно е да се подаде като втори аргумент string, който съдържа позволени тагове, изредени със запетаи без ъгловите скоби. Например "a,strong,span,em".
strpos(string $haystack , mixed $needle [, int $offset = 0 ])
Връща позицията на първия път където се среща $needle в $haystack.
Ако се подаде $offset ще се престочат първите букви с такъв брой.
strripos(string $haystack , string $needle [, int $offset = 0 ])
Сащото, но без да се взимат предвид малки и главни букви.
strrpos()
Връща позицията на последния път където се среща $needle в $haystack.
stripos(string $haystack , string $needle [, int $offset = 0 ])
Същото като strpos, но не взема предвид малки и главни букви при търсенето.
strstr(string $haystack , mixed $needle [, bool $before_needle = false ])
Връща част от $haystack, започваща от $needle до края на string-а.
Ако $before_needle се подаде като TRUE се връща останалата част от $haystack – от началото до (и без) $needle.
stristr(string $haystack , mixed $needle [, bool $before_needle = false ])
Същото, но без да се взимат предвид главни и малки букви.
strlen(string $string)
Връща броя букви в $string.
strrev(string $string)
Обръща буквите в $string наобратно.
substr(string $string , int $start [, int $length ])
Връща част от $string започваща от $start и с дължина $length.
[…] Действието на функцията str_replace би трябвало да е познато от урока Първи стъпки в PHP – функции за текст […]
[…] Взимане на буква от string може да стане чрез функцията substr() (би трябвало вече да е позната от урока функции за текст). […]
[…] преди сте се чудели за какво ви е бил урокът Първи стъпки в PHP – функции за текст – сега вече се надявам, че е […]