Меню

Първи стъпки в правене на сайтове

Влез Излез

Първи стъпки в 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 – © (&copy;).

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.

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

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

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax