ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ подстроки Π² строку php

substr_count

(PHP 4, PHP 5, PHP 7, PHP 8)

substr_count β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ число Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ подстроки

ОписаниС

Π­Ρ‚Π° функция Π½Π΅ подсчитываСт ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ подстроки. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅!

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вСдётся поиск

Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»Π° отсчёта. Если Π·Π°Π΄Π°Π½ΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, отсчёт ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Ρ‘Π½ с ΠΊΠΎΠ½Ρ†Π° строки.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Π­Ρ‚Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число ( int ).

Бписок измСнСний

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования substr_count()

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

User Contributed Notes 10 notes

500KB string on our web server. It found 6 occurrences of the needle I was looking for in 0.0000 seconds. Yes, it ran faster than microtime() could measure.

Looking to give it a challenge, I then ran it on a Mac laptop from 2010 against a 120.5MB string. For one test needle, it found 2385 occurrences in 0.0266 seconds. Another test needs found 290 occurrences in 0.114 seconds.

Long story short, if you’re wondering whether this function is slowing down your script, the answer is probably not.

Making this case insensitive is easy for anyone who needs this. Simply convert the haystack and the needle to the same case (upper or lower).

To account for the case that jrhodes has pointed out, we can change the line to:

array (
0 => «mystringth»,
1 => «atislong»
);

It was suggested to use

instead of the function described previously, however this has one flaw. For example this array:

array (
0 => «mystringth»,
1 => «atislong»
);

If you are counting «that», the implode version will return 1, but the function previously described will return 0.

Yet another reference to the «cgcgcgcgcgcgc» example posted by «chris at pecoraro dot net»:

Your request can be fulfilled with the Perl compatible regular expressions and their lookahead and lookbehind features.

This will handle a string where it is unknown if comma or period are used as thousand or decimal separator. Only exception where this leads to a conflict is when there is only a single comma or period and 3 possible decimals (123.456 or 123,456). An optional parameter is passed to handle this case (assume thousands, assume decimal, decimal when period, decimal when comma). It assumes an input string in any of the formats listed below.

below was suggested a function for substr_count’ing an array, yet for a simpler procedure, use the following:

Unicode example with «case-sensitive» option;

In regards to anyone thinking of using code contributed by zmindster at gmail dot com

Please take careful consideration of possible edge cases with that regex, in example:

This would cause a infinite loop and for example be a possible entry point for a denial of service attack. A correct fix would require additional code, a quick hack would be just adding a additional check, without clarity or performance in mind:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

count_chars

(PHP 4, PHP 5, PHP 7, PHP 8)

count_chars β€” Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ символах, входящих Π² строку

ОписаниС

ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· символов с ASCII-ΠΊΠΎΠ΄Π°ΠΌΠΈ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ (0..255) Π² строкС string ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ….

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Бписок измСнСний

Π’Π΅Ρ€ΡΠΈΡΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
8.0.0Π”ΠΎ этой вСрсии функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»Π° false Π² случаС возникновСния ошибки.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования count_chars()

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

User Contributed Notes 11 notes

If you have problems using count_chars with a multibyte string, you can change the page encoding. Alternatively, you can also use this mb_count_chars version of the function. Basically it is mode «1» of the original function.

count_chars for multibyte supported.

// Require (n) unique characters in a string
// Modification of a function below which ads some flexibility in how many unique characters are required in a given string.

$pass = ‘123456’ ; // true
$pass = ‘111222’ ; // false

I have no idea where this could be used, but it’s quite fun

This function is great for input validation. I frequently need to check that all characters in a string are 7-bit ASCII (and not null). This is the fastest function I have found yet:

Here’s a function to count number of strings in a string. It can be used as a simple utf8-enabled count_chars (but limited to a single mode).

Another approach to counting unicode chars.

Checking that two strings are anagram:

// Usefulness of the two functions

Here are some more experiments on this relatively new and extremely handy function.

= ‘I have never seen ANYTHING like that before! My number is «4670-9394».’ ;

#The result looks like
#The character » » has appeared in this string 11 times.

#This shows that ’70 is not the same as 36′
?>

As we can see above:

1)If you cares only about what is in the string, use count_chars($string, 1) and it will return an (associative?) array of what shows up only.

2) Either I misunderstood what the manul actually said, or it does not work the way it described: count_chars($strting, 3) actually returned a string of what characters are in the string, not a string of their byte-values (which is great because a string of numbers would be much harder to handle);

3)This is a short version of password checking: get the original string’s length, then compare with the length of the string returned by count_chars($string,3).

4) Final trick: now we have a primitive way to count the number of words in a string! (or do we have a fuction for that already?)

this code can find each characters count

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками Π² PHP

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² сравнСния ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ строкам.

Ѐункция chop( ) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку послС удалСния ΠΈΠ· Π½Π΅Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΡ… пропусков ΠΈ символов Π½ΠΎΠ²ΠΎΠΉ строки. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ chop( ):

string chop(string строка)

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ функция chop( ) удаляСт лишниС символы Π½ΠΎΠ²ΠΎΠΉ строки:

str_pad()

Ѐункция str_pad( ) Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ строку Π΄ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ символами ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ строку. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ str_pad( ):

string str_pad (string строка, int Π΄Π»ΠΈΠ½Π°_дополнСния [, string Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ [, int Ρ‚ΠΈΠΏ_дополнСния]])

Если Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, строка дополняСтся ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС строка дополняСтся Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ символами. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ строка дополняСтся справа; Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ Ρ‚ΠΈΠΏ_дополнСния константу STR_PAD_RIGHT, STR_PAD_LEFT ΠΈΠ»ΠΈ STR_PAD_BOTH, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ дополнСнию строки Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ строки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ str_pad( ) с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ str_pad( ):

Ѐункция trim( ) удаляСт псС пропуски с ΠΎΠ±ΠΎΠΈΡ… ΠΊΡ€Π°Π΅Π² строки ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ строку. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ trim( ):

string trim (string страна]

К числу удаляСмых пропусков относятся ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы \n, \r, \t, \v ΠΈ \0.

ltrim()

Ѐункция lrim( ) удаляСт всС пропуски ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы с Π»Π΅Π²ΠΎΠ³ΠΎ края строки ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ строку. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ltrim( ):

string ltrim (string строка)

Ѐункция удаляСт Ρ‚Π΅ ΠΆΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы, Ρ‡Ρ‚ΠΎ ΠΈ функция trim( ).

strlen()

int strlen (string строка)

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ строки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ strlen( ):

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… строк

strcmp()

Ѐункция strcmp( ) сравниваСт Π΄Π²Π΅ строки с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра символов. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strcmp( ): int strcmp (string строка1, string строка2)

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π²Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ строки:

strcasecmp()

int strcasecmp (string cΡ‚poΠΊa1, string строка2)

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π²Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ строки:

strspn()

Ѐункция strspn( ) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ сСгмСнта строки1, содСрТащСго символы, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² строкС2. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strspn( ):

int strspn (string строка1, string строка2)

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ функция strspn( ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ пароля:

strcspn()

Ѐункция strcspn( ) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ сСгмСнта строки1, содСрТащСго символы, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² строкС2. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strcspn( ):

int strcspn (string строка1, string строка2)

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ функция strcspn( ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ пароля:

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° строковых Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· примСнСния рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… объСмов ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ сильно Π·Π°ΠΌΠ΅Π΄Π»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ слСдуСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ лишь ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ слоТных строк, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… рСгулярныС выраТСния Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹. Если ΠΆΠ΅ Π°Π½Π°Π»ΠΈΠ· тСкста выполняСтся ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ простым ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ стандартными функциями РНР, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. ВсС эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ описаны Π½ΠΈΠΆΠ΅.

strtok()

Ѐункция strtok( ) Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ строку Π½Π° лСксСмы ΠΏΠΎ раздСлитСлям, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strtok( ):

string strtok (string строка, string Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ)

parse_str()

Ѐункция parse_str( ) выдСляСт Π² строкС ΠΏΠ°Ρ€Ρ‹ ΠΈ присваиваСт значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ области видимости. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ parse_str( ):

void parse_str (string строка)

Ѐункция parse_str( ) особСнно ΡƒΠ΄ΠΎΠ±Π½Π° ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ URL, содСрТащих Π΄Π°Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌ HTML ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ анализируСтся информация, пСрСданная Ρ‡Π΅Ρ€Π΅Π· URL. Π‘Ρ‚Ρ€ΠΎΠΊΠ° прСдставляСт собой стандартный способ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ страницами Π»ΠΈΠ±ΠΎ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² гипСрссылкС, Π»ΠΈΠ±ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΡƒ HTML:

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ эта функция создавалась для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с URL, ΠΎΠ½Π° ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ символ ампСрсанд (&).

explode()

Ѐункция explode() Π΄Π΅Π»ΠΈΡ‚ строку Π½Π° элСмСнты ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ эти элСмСнты Π² Π²ΠΈΠ΄Π΅ массива. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ explode():

array explode (string Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ, string строка [, int ΠΏΠΎΡ€ΠΎΠ³])

Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ происходит ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ экзСмпляру раздСлитСля, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ количСство ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΏΠΎΡ€ΠΎΠ³.

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ строки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ explode( ) продСмонстрировано Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

Ѐункция explode( ) практичСски ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ POSIX split( ), описанной Π²Ρ‹ΡˆΠ΅. Π“Π»Π°Π²Π½ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… допускаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ split( ).

implode()

string implode (string Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ, array Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹)

Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки ΠΈΠ· массива продСмонстрировано Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

strpos()

Ѐункция strpos( ) Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² строкС ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ экзСмпляр Π·Π°Π΄Π°Π½Π½ΠΎΠΉ подстроки. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strpos():

int strpos (string строка, string подстрока [, int смСщСниС])

ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ offset Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ поиск. Если подстрока Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, strpos() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ FALSE (0).

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ опрСдСляСтся позиция ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния Π΄Π°Ρ‚Ρ‹ Π² Ρ„Π°ΠΉΠ» ΠΆΡƒΡ€Π½Π°Π»Π°:

strrpos()

Ѐункция strrpos( ) Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² строкС послСдний экзСмпляр Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ символа. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strrpos( ):

int strpos (string строка, char символ)

str_replace()

Ѐункция str_replace( ) ΠΈΡ‰Π΅Ρ‚ Π² строкС всС вхоТдСния Π·Π°Π΄Π°Π½Π½ΠΎΠΉ подстроки ΠΈ замСняСт ΠΈΡ… Π½ΠΎΠ²ΠΎΠΉ подстрокой. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ str_replace( ):

string str_replace (string подстрока, string Π·Π°ΠΌΠ΅Π½Π°, string строка)

Ѐункция substr_replace( ), описанная Π½ΠΈΠΆΠ΅ Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅, позволяСт провСсти Π·Π°ΠΌΠ΅ Π½Ρƒ лишь Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ части строки. НиТС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ функция str_replace( ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для провСдСния глобальной Π·Π°ΠΌΠ΅Π½Ρ‹ Π² строкС.

Если подстрока Π½ΠΈ Ρ€Π°Π·Ρƒ Π½Π΅ встрСчаСтся Π² строкС, исходная строка Π½Π΅ измСняСтся:

strstr()

Ѐункция strstr( ) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ строки, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΡƒΡŽΡΡ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния Π·Π°Π΄Π°Π½Π½ΠΎΠΉ подстроки. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strstr( ):

string strstr (string строка, string подстрока)

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ функция strstr( ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для выдСлСния ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΠΌΠ΅Π½Π° ΠΈΠ· URL:

substr()

Ѐункция substr( ) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ строки, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΡƒΡŽΡΡ с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽ Π·Π°Π΄Π°Π½Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ substr( ):

string substr (string строка, int Π½Π°Ρ‡Π°Π»ΠΎ [, int Π΄Π»ΠΈΠ½Π°])

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π°Ρ‡Π°Π»ΠΎ опрСдСляСт смСщСниС ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа строки; Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, возвращаСмая строка Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ начинаСтся с символа с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ (Π½Π°Ρ‡Π°Π»ΠΎ + 1).

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ части строки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ substr( ):

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π΄Π»ΠΈΠ½Π°: ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π΄Π»ΠΈΠ½Π°:

substr_count()

substr_replace()

Ѐункция substr_replace( ) замСняСт Ρ‡Π°ΡΡ‚ΡŒ строки, которая начинаСтся с Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Если Π·Π°Π΄Π°Π½ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄Π»ΠΈΠ½Π°, замСняСтся Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹; Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС производится Π·Π°ΠΌΠ΅Π½Π° ΠΏΠΎ всСй Π΄Π»ΠΈΠ½Π΅ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉ строки. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ substr_replace( ):

string substr_replace (string строка, string Π·Π°ΠΌΠ΅Π½Π°, int Π½Π°Ρ‡Π°Π»ΠΎ [, int Π΄Π»ΠΈΠ½Π°])

ΠŸΡ€ΠΎΡΡ‚Π°Ρ Π·Π°ΠΌΠ΅Π½Π° тСкста Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ substr_replace( ) продСмонстрирована Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

Alessia’s favorite links

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строк ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ HTML ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ строку ΠΈΠ»ΠΈ Ρ†Π΅Π»Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ, подходящСму для просмотра Π² web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ (ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚), ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд. Π’ РНР для этого ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста Π² HTML

nl2br()

Ѐункция nl2br() замСняСт всС символы Π½ΠΎΠ²ΠΎΠΉ строки (\n) эквивалСнтными конструкциями HTML.

Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ nl2br():

string nl2br (string строка)

htmlentities()

Ѐункция htmlentities( ) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ символы Π² эквивалСнтныС конструкции HTML. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ htmlentities:

string htmlentities (string строка)

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ производится нСобходимая Π·Π°ΠΌΠ΅Π½Π° символов строки для Π²Ρ‹Π²ΠΎΠ΄Π° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅:

htmlspecialchars()

Ѐункция htmlspecialchars( ) замСняСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ символы, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ особый смысл Π² контСкстС HTML, эквивалСнтными конструкциями HTML. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ htmlspecialchars( ):

string htmlspecialchars (string строка)

Ѐункция html special chars( ) Π² настоящСС врСмя ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ символы: & прСобразуСтся Π² &; » » прСобразуСтся Π² «; прСобразуСтся Π² >.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ опасных символов Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ htmlspeclalchars( ):

Если функция htmlspecialchars( ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² сочСтании с nl2br( ), Ρ‚ΠΎ послСднюю слСдуСт Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ послС htmlspecialchars( ). Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС конструкции
, сгСнСрированныС ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ nl2br( ), ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ символы.

get_html_translation_table()

Ѐункция get_html_translation_table( ) обСспСчиваСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ срСдства прСобразования тСкста Π² эквивалСнты HTML Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ get_htrril_translation_table( ):

string get_html_translation_table (int Ρ‚Π°Π±Π»ΠΈΡ†Π°)

Ѐункция get_html_translation_table( ) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π΄Π²ΡƒΡ… Ρ‚Π°Π±Π»ΠΈΡ† прСобразования (опрСдСляСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Π°), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Ρ€Π°Π±ΠΎΡ‚Π΅ стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ htmlspecialchars( ) ΠΈ htmlentities( ). Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² сочСтании с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стандартной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, strtr(), для прСобразования тСкста Π² ΠΊΠΎΠ΄ HTML.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ функция get_html_translation_table( ) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ тСкста Π² ΠΊΠΎΠ΄ HTML:

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ исходный тСкст восстанавливаСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ array_flip( ):

strtr()

Ѐункция strtr( ) транслируСт строку, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ замСняСт Π² Π½Π΅ΠΉ всС символы, входящиС Π² строку источник, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ символами строки ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strtr( ):

string strtr (string строка, string источник, string ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ)

Если строки источник ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½ΡƒΡŽ Π΄Π»ΠΈΠ½Ρƒ, длинная строка усСкаСтся Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ строки.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ HTML Π² простой тСкст

Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ HTML Π² простой тСкст. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, описанныС Π½ΠΈΠΆΠ΅, ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ этой Π·Π°Π΄Π°Ρ‡ΠΈ.

strip_tags()

Ѐункция strip_tags( ) удаляСт ΠΈΠ· строки всС Ρ‚Π΅Π³ΠΈ HTML ΠΈ РНР, оставляя Π² Π½Π΅ΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкст. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strip_tags( ):

string strip_tags (string строка [, string Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅_Ρ‚erΠΈ])

ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅_Ρ‚Π΅Π³ΠΈ позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚Π΅Π³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π² процСссС удалСния.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ удалСния ΠΈΠ· строки всСх Ρ‚Π΅Π³ΠΎΠ² HTML Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ strip_tags( ):

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π½Π΅ всС, Π° лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π΅Π³ΠΈ:

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π³ΠΎΠ² ΠΈΠ· тСкста Ρ‚Π°ΠΊΠΆΠ΅ производится Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ fgetss().

get_meta_tags()

Π₯отя функция get_meta_tags( ) ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ прямого ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ тСкста, Π·Ρ‚ΠΎ вСсьма полСзная функция, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ слСдуСт ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ get_meta_tags( ):

array get_meta_tags (string имя_Ρ„Π°ΠΉΠ»Π°/URL [, int Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅_ΠΏΡƒΡ‚ΠΈ])

Ѐункция get_meta_tags( ) ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для поиска Π² Ρ„Π°ΠΉΠ»Π΅ HTML Ρ‚Π΅Π³ΠΎΠ² ΠœΠ•Π’Π.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Π°Ρ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΡŒ: Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π΅Π³ΠΎΠ² ΠœΠ•Π’Π ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ², находящихся Π½Π° сСрвСрС, Π½ΠΎ ΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… URL.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строки ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ рСгистру

strtolower( )

Ѐункция strtolower( ) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ всС Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½Ρ‹Π΅ символы строки ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ рСгистру. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ strtolower():

string strtolower(string строка)

НСалфавитныС символы Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строки ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ рСгистру Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ strtolower() продСмонстрировано Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

strtoupper()

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ, Π½ΠΎ ΠΈ ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ рСгистру. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ выполняСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ strtoupper(), ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

string strtoupper (string строка)

НСалфавитныС символы Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строки ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ рСгистру Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ strtoupper() продСмонстрировано Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

ucfirst()

string ucfirst (string строка)

НСалфавитныС символы Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа строки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ucfirst() продСмонстрировано Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

ucwords()

Ѐункция ucwords( ) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ рСгистру ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π±ΡƒΠΊΠ²Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ слова Π² строкС. Бинтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ucwords():

string ucwords (string строка»)

НСалфавитныС символы Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ. «Π‘Π»ΠΎΠ²ΠΎ» опрСдСляСтся ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, отдСлСнная ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов строки ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ продСмонстрировано ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… символов слов Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ucwords( ):

strrchr()

Если подстрока Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ FALSE.

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ strchr(), Ссли искомая строка состоит Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ символ.

Если Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ являСтся строкой, ΠΎΠ½ приводится ΠΊ Ρ†Π΅Π»ΠΎΠΌΡƒ ΠΈ трактуСтся ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ символа.

highlight_string()

mixed highlight_string (string str [, bool return])

Ѐункция highlight_string() Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π²Π΅Ρ€ΡΠΈΡŽ с расцвСчСнным синтаксисом строки str, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ†Π²Π΅Ρ‚Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Π²ΠΎ встроСнном Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ синтаксиса PHP.

Если Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ return ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ TRUE, Ρ‚ΠΎ highlight_string() Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ Π²Π΅Ρ€ΡΠΈΡŽ Ρ€Π°ΡΠΊΡ€Π°ΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊ строку, вмСсто Π΅Ρ‘ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ. Если Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ TRUE, highlight_string() Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ TRUE ΠΏΡ€ΠΈ успСхС, FALSE ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅.

addslashes()

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сроку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ спСцсимволом Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слэш (\), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ использования этой строки Π² запросС ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π­ΠΊΡ€Π°Π½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ одиночная ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ° (‘), дойная ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ° («), ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слэш (\) ΠΈ NUL (Π±Π°ΠΉΡ‚ NULL).

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками

Для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ строк ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ функциями Perl-совмСстимых рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ посмотритС Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

User Contributed Notes 24 notes

I’m converting 30 year old code and needed a string TAB function:

//tab function similar to TAB used in old BASIC languages
//though some of them did not truncate if the string were
//longer than the requested position
function tab($instring=»»,$topos=0) <
if(strlen($instring)

In response to hackajar yahoo com,

No string-to-array function exists because it is not needed. If you reference a string with an offset like you do with an array, the character at that offset will be return. This is documented in section III.11’s «Strings» article under the «String access and modification by character» heading.

I use these little doo-dads quite a bit. I just thought I’d share them and maybe save someone a little time. No biggy. πŸ™‚

Just a note in regards to bloopletech a few posts down:

The word «and» should not be used when converting numbers to text. «And» (at least in US English) should only be used to indicate the decimal place.

Example:
1,796,706 => one million, seven hundred ninety-six thousand, seven hundred six.
594,359.34 => five hundred ninety four thousand, three hundred fifty nine and thirty four hundredths

/*
* example
* accept only alphanum caracteres from the GET/POST parameters ‘a’
*/

/**
Utility class: static methods for cleaning & escaping untrusted (i.e.
user-supplied) strings.

Any string can (usually) be thought of as being in one of these ‘modes’:

pure = what the user actually typed / what you want to see on the page /
what is actually stored in the DB
gpc = incoming GET, POST or COOKIE data
sql = escaped for passing safely to RDBMS via SQL (also, data from DB
queries and file reads if you have magic_quotes_runtime on—which
is rare)
html = safe for html display (htmlentities applied)

Always knowing what mode your string is in—using these methods to
convert between modes—will prevent SQL injection and cross-site scripting.

This class refers to its own namespace (so it can work in PHP 4—there is no
self keyword until PHP 5). Do not change the name of the class w/o changing
all the internal references.

Example usage: a POST value that you want to query with:
$username = Str::gpc2sql($_POST[‘username’]);
*/

Example: Give me everything up to the fourth occurance of ‘/’.

to: james dot d dot baker at gmail dot com

PHP has a builtin function for doing what your function does,

//
// string strtrmvistl( string str, [int maxlen = 64],
// [bool right_justify = false],
// [string delimter = «
\n»])
//
// splits a long string into two chunks (a start and an end chunk)
// of a given maximum length and seperates them by a given delimeter.
// a second chunk can be right-justified within maxlen.
// may be used to ‘spread’ a string over two lines.
//

I really searched for a function that would do this as I’ve seen it in other languages but I couldn’t find it here. This is particularily useful when combined with substr() to take the first part of a string up to a certain point.

?>

Example: Give me everything up to the fourth occurance of ‘/’.

The functions below:

Are correct, but flawed. You’d need to use the === operator instead:

Here’s a simpler «simplest» way to toggle through a set of 1..n colors for web backgrounds:

Here’s an easier way to find nth.

I was looking for a function to find the common substring in 2 different strings. I tried both the mb_string_intersect and string_intersect functions listed here but didn’t work for me. I found the algorithm at http://en.wikibooks.org/wiki/Algorithm_implementation/Strings/Longest_common_substring#PHP so here I post you the function

A comprehensive concatenation function, that works with array and strings

function str_cat () <
$args = func_get_args () ;

Here is a truly random string generator it uses the most common string functions it will work on anywhere.

/*
Written By James Baker, May 27th 2005

sentenceCase($string);
$string: The string to convert to sentence case.

Converts a string into proper sentence case (First letter of each sentance capital, all the others smaller)

Example Usage:
echo sentenceCase(«HELLO WORLD. THIS IS A CAPITALISED SENTENCE. this isn’t.»);

Returns:
Hello world. This is a capitalised sentence. This isn’t.
*/

If you want a function to return all text in a string up to the Nth occurrence of a substring, try the below function.

(Pommef provided another sample function for this purpose below, but I believe it is incorrect.)

/*
// prints:
S: d24jkdslgjldk2424jgklsjg24jskgldjk24
1: d
2: d24jkdslgjldk
3: d24jkdslgjldk24
4: d24jkdslgjldk2424jgklsjg
5: d24jkdslgjldk2424jgklsjg24jskgldjk
6: d24jkdslgjldk2424jgklsjg24jskgldjk24
7: d24jkdslgjldk2424jgklsjg24jskgldjk24
*/

?>

Note that this function can be combined with wordwrap() to accomplish a routine but fairly difficult web design goal, namely, limiting inline HTML text to a certain number of lines. wordwrap() can break your string using
, and then you can use this function to only return text up to the N’th
.

You will still have to make a conservative guess of the max number of characters per line with wordwrap(), but you can be more precise than if you were simply truncating a multiple-line string with substr().

= ‘Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque id massa. Duis sollicitudin ipsum vel diam. Aliquam pulvinar sagittis felis. Nullam hendrerit semper elit. Donec convallis mollis risus. Cras blandit mollis turpis. Vivamus facilisis, sapien at tincidunt accumsan, arcu dolor suscipit sem, tristique convallis ante ante id diam. Curabitur mollis, lacus vel gravida accumsan, enim quam condimentum est, vitae rutrum neque magna ac enim.’ ;

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque id massa. Duis sollicitudin
ipsum vel diam. Aliquam pulvinar sagittis felis. Nullam hendrerit semper elit. Donec convallis
mollis risus. Cras blandit mollis turpis. Vivamus facilisis, sapien at tincidunt accumsan, arcu

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque id massa. Duis sollicitudin
ipsum vel diam. Aliquam pulvinar sagittis felis. Nullam hendrerit semper elit. Donec convallis
mollis risus. Cras blandit mollis turpis. Vivamus facilisis, sapien at tincidunt accumsan, arcu
dolor suscipit sem, tristique convallis ante ante id diam. Curabitur mollis, lacus vel gravida

I’ve prepared this simple function to obtain a string delimited between tags (not only XML tags!). Anybody needs something like this?.

Get the intersection of two strings using array_intersect

?>

For more advanced comparison you can use array_uintersect as well.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *