Първи стъпки в 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.

3 Отговори на “Първи стъпки в PHP – функции за текст”

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните ви за коментари.