Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php

Π£Ρ‡Π΅Π±Π½ΠΈΠΊ ΠΏΠΎ PHP 4

Бколько Π½ΠΎΠ²Ρ‹Ρ… сайтов Π’Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ Π·Π° Π³ΠΎΠ΄? Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π€ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php
Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π€ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PHP

Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π€ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php
Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π€ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php
Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π€ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php
Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π€ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом phpΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π°ΡΠ‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°ΡΡ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π€ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π»ΠΎΠΊΠ°ΠΌΠΈ тСкста

wordwrap()

Ѐункция wordwrap() Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ исходный тСкст Π½Π° строки с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΌΠΈ символами. Богласно синтаксису, эта функция Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ Π±Π»ΠΎΠΊ тСкста str Π½Π° нСсколько строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΡŽΡ‚ΡΡ символами break, Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС Π±Ρ‹Π»ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ width Π±ΡƒΠΊΠ². ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ происходит ΠΏΠΎ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌ слов, тСкст остаСтся Π²ΠΏΠΎΠ»Π½Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ.

str_replace()

Ѐункция str_replace() замСняСт Π² исходной строкС str ΠΎΠ΄Π½ΠΈ подстроки Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π’.Π΅. функция замСняСт Π² строкС str всС вхоТдСния подстроки from Π½Π° to ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π­Ρ‚Π° функция ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌΠΈ строками.

Ѐункция, Π²ΠΎΠΎΠ±Ρ‰Π΅ говоря, нуТная. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ссли Π’Ρ‹ ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ‚ΠΈΠΏΠ° гостСвой ΠΊΠ½ΠΈΠ³ΠΈ, Ρ„ΠΎΡ€ΡƒΠΌΠ°, ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π²Π²ΠΎΠ΄Π° для выдСлСния тСста ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ стандарными Ρ‚Π΅Π³Π°ΠΌΠΈ HTML, Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π’Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ для форматирования Π½Π° стандартныС Ρ‚Π΅Π³ΠΈ НВML. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ:

Π’.Π΅. Ссли Π’Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для отобраТСния тСкста ΠΏΠΎΠ»ΡƒΠΆΠΈΡ€Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ символы «[B]», Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡ… Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° символ » «, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² НВМL.

ПозТС, ΠΏΡ€ΠΈ написании Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΌΡ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ эту, Ρ‚Π°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, рассмотрСнныС Π½Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

substr_replace()

Π­Ρ‚Π° функция замСняСт Π² исходной строкС ΠΎΠ΄Π½ΠΈ подстроки Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку str, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒ ΠΎΡ‚ символа с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠ΅ΠΉ start ΠΈ Π΄Π»ΠΈΠ½ΠΎΠΉ length замСняСтся строкой replacement. Если Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π΄Π»ΠΈΠ½Ρ‹ length Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, Π·Π°ΠΌΠ΅Π½Π° проводится Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°.

strtr()

Π­Ρ‚Π° функция ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для комплСксной Π·Π°ΠΌΠ΅Π½Ρ‹ Π² строкС ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° Π²ΠΈΠ΄Π° синтаксиса. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС функция strtr() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку str, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π² строкС from, замСняСтся Π½Π° символ ΠΈΠ· строки to. Если строки from ΠΈ to Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, Ρ‚ΠΎ лишниС ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Π΅ символы Ρƒ Ρ‚ΠΎΠΉ строки, которая Π΄Π»ΠΈΠ½Π΅Π΅, ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС функция strtr() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ строки str Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ индСксам Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ элСмСнтов массива from. Π‘Π½Π°Ρ‡Π°Π»Π° функция пытаСтся Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ наибольшиС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ исходной строки, ΠΏΡ€ΠΈ этом Π½Π΅ выполняя Π·Π°ΠΌΠ΅Π½Ρƒ Π² ΡƒΠΆΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… частях строки. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нСсколько Π·Π°ΠΌΠ΅Π½ сразу:

А Π²ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ дСйствиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ htmlspecialchars():

Π’.Π΅., ΠΈΠ· строки, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всС спСцсимволы Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π° ΠΈΡ… HTML-эквивалСнты, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°ΠΌΠ΅ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ строку.

stripslashes()

Ѐункция удалСния ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… слСшСй. Π’.Π΅. производится Π·Π°ΠΌΠ΅Π½Π° Π² строкС str ΠΏΡ€Π΅Π΄Π²Π°Ρ€Π΅Π½Π½Ρ‹Ρ… слСшСм символов Π½Π° ΠΈΡ… ΠΊΠΎΠ΄ΠΎΠ²Ρ‹Π΅ эквивалСнты. Ѐункция Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с символами: «, «, \.

stripcslashes()

А эта функция ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ спСцсимволы Π² ΠΈΡ… Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС.

Она Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ слСшСм спСцсимволы, (с Ρ†Π΅Π»ΡŒΡŽ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ отобраТСния), ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² ΠΈΡ… Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС. Ѐункция распознаСт C-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ записи (Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½Ρ‹Π΅ ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ \n, \r ΠΈ Ρ‚.Π΄.).

addslashes()

Ѐункция добавлСния слСшСй ΠΏΠ΅Ρ€Π΅Π΄ символами строки «,» ΠΈ \. Π­Ρ‚Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ eval().

addcslashes()

Ѐункция Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ слСшСй ΠΏΠ΅Ρ€Π΅Π΄ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ символами строки.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку str, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ вставлСны символы ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ слСша ΠΏΠ΅Ρ€Π΅Π΄ пСрСчислСнными Π² спискС charlist символами. Π­Ρ‚ΠΎ позволяСт ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΡŽΡ‚ΡΡ Π² ΠΈΡ… Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Π‘-прСдставлСниС.

quotemeta()

strrev()

Ѐункция ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ рСвСрс строки.

Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π€ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php
Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π€ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом phpΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π°ΡΠ‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°ΡΡ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π€ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php
Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π€ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php

Если Π’Π°ΠΌ Π½ΡƒΠΆΠ½Π° частная ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ†ΠΈΡ ΠΎΡ‚ Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΊΠ½ΠΈΠ³ ΠšΡƒΠ·Π½Π΅Ρ†ΠΎΠ²Π° М.Π’. ΠΈ Бимдянова И.Π’., Π΄ΠΎΠ±Ρ€ΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒ Π² наш ΠšΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π¦Π΅Π½Ρ‚Ρ€ SoftTime.

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

Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PHP для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками. Π§Π°ΡΡ‚ΡŒ 1

Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: 2011-01-11

Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π€ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php

ΠžΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°: Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ PHP для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками.

Π’.ΠΊ. практичСски всС CMS (ΠΌΠΎΠΆΠ΅Ρ‚ Π’Π°ΡˆΠΈ самописныС ΠΈΠ»ΠΈ Ρ‡ΡŒΠΈ-Ρ‚ΠΎ Ρ‚ΠΈΠΏΠ° free) Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π½Π°ΠΌ прСдстоит Π²ΠΏΠ»ΠΎΡ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ со строковыми ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π³Π΄Π΅-Ρ‚ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ участок тСкста Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ тСкст. Или Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² сСрСдинС (Π² Π½Π°Ρ‡Π°Π»Π° ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅) ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ тСст.

Π‘Π΅Π· Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с функциями строк Π² PHP ΠΌΡ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ пСрСчислСнных ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ смоТСм.

Для Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ простой поиск ΠΈ Π·Π°ΠΌΠ΅Π½Ρƒ Π² строкС.

Ѐункция 1

Π•ΡΡ‚ΡŒ такая простая php функция substr_count(), которая считаСт количСство подстрок Π² строкС. НапримСр, Π΅ΡΡ‚ΡŒ такая строка: Β«Π±Π΅Ρ‚ΠΎΠ½ ΠΈ ΠΆΠ΅Π»Π΅Π·ΠΎΠ±Π΅Ρ‚ΠΎΠ½Β», наша Ρ†Π΅Π»ΡŒ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠΎΠ»-Π²ΠΎ подстрок Β«Π±Π΅Ρ‚ΠΎΠ½Β». Ѐункция Π²Π΅Ρ€Π½Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2 (ΠΈΠ±ΠΎ Π½Π°ΠΉΠ΄Π΅Ρ‚ 2 подстроки, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΆΠΈΡ€Π½Ρ‹ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ).

Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php. Π€ΠΎΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° с тСкстом php

БСсплатный курс ΠΏΠΎ PHP ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

ΠžΡΠ²ΠΎΠΉΡ‚Π΅ курс ΠΈ ΡƒΠ·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Ρ‹ΠΉ сайт Π½Π° PHP ΠΈ MySQL с ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ нуля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ модСль MVC

Π’ курсС 39 ΡƒΡ€ΠΎΠΊΠΎΠ² | 15 часов Π²ΠΈΠ΄Π΅ΠΎ | исходники для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠΊΠ°

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

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ( string ) Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ 2 Π“Π± (2147483647 Π±Π°ΠΉΡ‚).

Бинтаксис

Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами:

ΠžΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½ΡƒΡŽ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΡƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ строки, проэкранируйтС Π΅Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ (\). Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ саму ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ, ΠΏΡ€ΠΎΠ΄ΡƒΠ±Π»ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π΅ (\\). ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ случаи примСнСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ символы: это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ \r ΠΈΠ»ΠΈ \n, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ вмСсто ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ особого повСдСния.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ синтаксиса Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ ΠΈ heredoc, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Π½Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ.

echo ‘это простая строка’ ;

echo ‘Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² строки
символ Π½ΠΎΠ²ΠΎΠΉ строки Π²ΠΎΡ‚ Ρ‚Π°ΠΊ,
это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ’ ;

// Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚: ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΡ€Π½ΠΎΠ»ΡŒΠ΄ сказал: «I’ll be back»
echo ‘ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹ ΠΡ€Π½ΠΎΠ»ΡŒΠ΄ сказал: «I\’ll be back»‘ ;

// Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚: Π’Ρ‹ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ C:\*.*?
echo ‘Π’Ρ‹ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ C:\\*.*?’ ;

// Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚: Π’Ρ‹ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ C:\*.*?
echo ‘Π’Ρ‹ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ C:\*.*?’ ;

// Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚: Π­Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎ: \n новая строка
echo ‘Π­Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎ: \n новая строка’ ;

Π”Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ

Если строка Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ («), PHP распознаСт большСС количСство ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ для ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов:

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
\nновая строка (LF ΠΈΠ»ΠΈ 0x0A (10) Π² ASCII)
\rΠ²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ (CR ΠΈΠ»ΠΈ 0x0D (13) Π² ASCII)
\tΠ³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ табуляция (HT ΠΈΠ»ΠΈ 0x09 (9) Π² ASCII)
\vΠ²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ табуляция (VT ΠΈΠ»ΠΈ 0x0B (11) Π² ASCII) (с вСрсии PHP 5.2.5)
\eescape-Π·Π½Π°ΠΊ (ESC ΠΈΠ»ΠΈ 0x1B (27) Π² ASCII) (с вСрсии PHP 5.4.4)
\fΠΏΠΎΠ΄Π°Ρ‡Π° страницы (FF ΠΈΠ»ΠΈ 0x0C (12) Π² ASCII) (с вСрсии PHP 5.2.5)
\\обратная косая Ρ‡Π΅Ρ€Ρ‚Π°
\$Π·Π½Π°ΠΊ Π΄ΠΎΠ»Π»Π°Ρ€Π°
двойная ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°
\7ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ символа Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния
\x[0-9A-Fa-f]ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ символа Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния

Как ΠΈ Π² строкС, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, экранированиС любого символа Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ саму ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ. Π”ΠΎ вСрсии PHP 5.1.1, обратная косая Ρ‡Π΅Ρ€Ρ‚Π° Π² \ Π½Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π»Π°ΡΡŒ.

Но самым Π²Π°ΠΆΠ½Ρ‹ΠΌ свойством строк Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… являСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ: ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° строк

Heredoc

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ строка с Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΡ… символов, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой (;). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ с отступом ΠΈ Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈΠ»ΠΈ Π·Π½Π°ΠΊΠΎΠ² табуляции Π΄ΠΎ ΠΈΠ»ΠΈ послС Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой. Π’Π°ΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ символом ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ символ Π½ΠΎΠ²ΠΎΠΉ строки, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π² вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС. НапримСр, Π² UNIX систСмах, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Mac OS X, это \n. ПослС Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Ρ‚Π°ΠΊΠΆΠ΅ сразу Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ новая строка.

Если это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΎ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π½Π΅ являСтся «Ρ‡ΠΈΡΡ‚Ρ‹ΠΌ», считаСтся, Ρ‡Ρ‚ΠΎ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ отсутствуСт ΠΈ PHP ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Π΅Π³ΠΎ поиск дальшС. Если Π² этом случаС Π²Π΅Ρ€Π½Ρ‹ΠΉ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½, Ρ‚ΠΎ это Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ парсинга с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ строки Π² ΠΊΠΎΠ½Ρ†Π΅ скрипта.

Heredoc Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ класса. Начиная с вСрсии PHP 5.3, это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ распространяСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° heredoc, содСрТащиС Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 НСвСрный ΠΏΡ€ΠΈΠΌΠ΅Ρ€

Heredoc-тСкст Π²Π΅Π΄Π΅Ρ‚ сСбя Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ строка Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…, ΠΏΡ€ΠΈ этом ΠΈΡ… Π½Π΅ имСя. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅Ρ‚ нСобходимости ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π² heredoc, Π½ΠΎ Π²Ρ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ, Π½ΠΎ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ слоТных ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ heredoc Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со строками.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #2 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ опрСдСлСния heredoc-строки

= ΠŸΡ€ΠΈΠΌΠ΅Ρ€ строки,
ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ нСсколько строчСк,
с использованиСм heredoc-синтаксиса.
EOD;

$foo = new foo ();
$name = ‘МоСИмя’ ;

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

Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ heredoc-синтаксис для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #3 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ примСнСния heredoc Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ…

Начиная с вСрсии 5.3.0, стала Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ инциализация статичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ свойств/констант класса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ синтаксиса heredoc:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #4 ИспользованиС heredoc для ΠΈΠ½Ρ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ статичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

// Class properties/constants
class foo
<
const BAR = ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования константы
FOOBAR;

Начиная с вСрсии PHP 5.3.0 ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Heredoc Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #5 ИспользованиС Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ Π² heredoc

Nowdoc

Nowdoc указываСтся Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ = ΠŸΡ€ΠΈΠΌΠ΅Ρ€ тСкста,
Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ нСсколько строк,
с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ синтаксиса nowdoc.
EOD;

$foo = new foo ();
$name = ‘МоСИмя’ ;

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

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ heredoc, nowdoc ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π² любом контСкстС со статичСскими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ класса ΠΈΠ»ΠΈ констант:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #7 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования статичных Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° nowdoc Π±Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² PHP 5.3.0.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Если строка указываСтся Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…, Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ heredoc, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ.

БущСствуСт Π΄Π²Π° Ρ‚ΠΈΠΏΠ° синтаксиса: простой ΠΈ слоТный. ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ синтаксис Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΎΠΊ ΠΈ ΡƒΠ΄ΠΎΠ±Π΅Π½. Он Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, значСния массива ( array ) ΠΈΠ»ΠΈ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ( object ) с ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠΎΠΌ усилий.

Π‘Π»ΠΎΠΆΠ½Ρ‹ΠΉ синтаксис ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΏΠΎ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌ скобкам, ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ синтаксис

Если ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ встрСчаСт Π·Π½Π°ΠΊ Π΄ΠΎΠ»Π»Π°Ρ€Π° ($), ΠΎΠ½ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ символов, сколько Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Π΅Ρ† ΠΈΠΌΠ΅Π½ΠΈ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки.

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

Аналогично ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ элСмСнт массива ( array ) ΠΈΠ»ΠΈ свойство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ( object ). Π’ индСксах массива Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π°Ρ квадратная скобка (]) ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ† опрСдСлСния индСкса. Для свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Ρ‡Ρ‚ΠΎ ΠΈ для простых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #8 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ простого синтаксиса

$people = new people ();

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

Для Ρ‡Π΅Π³ΠΎ-Π»ΠΈΠ±ΠΎ Π±ΠΎΠ»Π΅Π΅ слоТного, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ слоТный синтаксис.

Π‘Π»ΠΎΠΆΠ½Ρ‹ΠΉ (Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΉ) синтаксис

Он называСтся слоТным Π½Π΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€ΡƒΠ΄Π΅Π½ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ слоТныС выраТСния.

Π›ΡŽΠ±Π°Ρ скалярная пСрСмСнная, элСмСнт массива ΠΈΠ»ΠΈ свойство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π² строку, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСна Π² строкС этим синтаксисом. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π²Π½Π΅ строки, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² <ΠΈ >. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ <Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ экранирован, этот синтаксис Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° $ слСдуСт нСпосрСдствСнно Π·Π° <. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ <\$, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ <$. НСсколько ΠΏΠΎΡΡΠ½ΡΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

// ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ всС ошибки
error_reporting ( E_ALL );

echo «Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ функция getName(): <$< getName ()>> » ;

// НС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚: Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ getName():
echo «Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ getName(): » ;
?>

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого синтаксиса Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ доступ ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ строк.

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

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², статичСскиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ классов, Π° Ρ‚Π°ΠΊΠΆΠ΅ константы классов Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ , начиная с вСрсии PHP 5. Однако, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ ΠΊΠ°ΠΊ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ контСкстС, Ρ‡Ρ‚ΠΎ ΠΈ строка, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½Π° опрСдСляСтся. ИспользованиС ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок (<>) Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ для доступа ΠΊ значСниям Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², констант классов ΠΈΠ»ΠΈ статичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… класса.

// ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ всС ошибки
error_reporting ( E_ALL );

$rootbeer = ‘A & W’ ;
$ipa = ‘Alexander Keith\’s’ ;

Доступ ΠΊ символу Π² строкС ΠΈ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² PHP Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ· сСбя массивы Π±Π°ΠΉΡ‚. Как Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, доступ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ строки ΠΏΠΎ ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ нСбСзопасно с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ со строками Π² ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ISO-8859-1.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #9 НСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² строк

Начиная с PHP 5.4 смСщСниС Π² строкС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π»ΠΈΠ±ΠΎ Ρ†Π΅Π»Ρ‹ΠΌ числом Π»ΠΈΠ±ΠΎ строкой, содСрТащСй Ρ†ΠΈΡ„Ρ€Ρ‹, ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. Π Π°Π½Π΅Π΅ смСщСниС, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ строкой Π²ΠΈΠ΄Π° «foo», Π±Π΅Π· ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π»ΠΎΡΡŒ Π² 0.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #10 Различия ΠΌΠ΅ΠΆΠ΄Ρƒ PHP 5.3 ΠΈ PHP 5.4

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

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

Π’ PHP 5.5 Π±Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° доступа ΠΊ символам Π² строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ синтаксиса [] ΠΈΠ»ΠΈ <>.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ‘.’ (Ρ‚ΠΎΡ‡ΠΊΠ°). ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ слоТСния ‘+’ здСсь Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ смотритС Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹.

Для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ строк сущСствуСт мноТСство ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π’Π°ΠΊΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с URL, ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ/Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ строк (mcrypt ΠΈ mhash).

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² строку

Π¦Π΅Π»ΠΎΠ΅ ( integer ) ΠΈΠ»ΠΈ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ( float ) прСобразуСтся Π² строку, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ числом, состоящим ΠΈΠ· Π΅Π³ΠΎ Ρ†ΠΈΡ„Ρ€ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ стСпСни для чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ). Числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ прСдставлСния (4.1E+6).

NULL всСгда прСобразуСтся Π² ΠΏΡƒΡΡ‚ΡƒΡŽ строку.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строк Π² числа

Если строка распознаСтся ΠΊΠ°ΠΊ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Ρ‚ΠΈΠΏ опрСдСляСтся Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π΄Π°Π»Π΅Π΅.

Если строка Π½Π΅ содСрТит ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· символов ‘.’, ‘e’, ΠΈΠ»ΠΈ ‘E’, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа помСщаСтся Π² ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Ρ†Π΅Π»Ρ‹Ρ… чисСл (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… PHP_INT_MAX ), строка Π±ΡƒΠ΄Π΅Ρ‚ распознана ΠΊΠ°ΠΊ Ρ†Π΅Π»ΠΎΠ΅ число ( integer ). Π’ΠΎ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях ΠΎΠ½Π° считаСтся числом с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ( float ).

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± этом ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ смотритС Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΎ strtod(3) Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Unix.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² этого Ρ€Π°Π·Π΄Π΅Π»Π°, скопируйтС ΠΈ Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π΅Π³ΠΎ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит:

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ строкового Ρ‚ΠΈΠΏΠ°

Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ ( string ) Π² PHP Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ массива Π±Π°ΠΉΡ‚ ΠΈ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа, содСрТащСго Π΄Π»ΠΈΠ½Ρƒ Π±ΡƒΡ„Π΅Ρ€Π°. Он Π½Π΅ содСрТит Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ способС прСобразования этих Π±Π°ΠΉΡ‚ Π² символы, прСдоставляя эту Π·Π°Π΄Π°Ρ‡Ρƒ программисту. НСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° содСрТимоС строки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Π°ΠΉΡ‚ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 0 («NUL»-Π±Π°ΠΉΡ‚) ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ (ΠΎΠ΄Π½Π°ΠΊΠΎ, стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ сказано Π² этом руководствС, Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ «Π±ΠΈΠ½Π°Ρ€Π½ΠΎ-бСзопасными», Ρ‚.Π΅. ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ строки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ послС NUL-Π±Π°ΠΉΡ‚Π°).

ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ PHP Π½Π΅ Π΄ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ для строк, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ вопрос, ΠΊΠ°ΠΊ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹. НапримСр, строка «Γ‘» эквивалСнтна «\xE1» (ISO-8859-1), «\xC3\xA1» (UTF-8, Ρ„ΠΎΡ€ΠΌΠ° Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ C), «\x61\xCC\x81» (UTF-8, Ρ„ΠΎΡ€ΠΌΠ° Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ D) ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΌΡƒ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ? ΠžΡ‚Π²Π΅Ρ‚ΠΎΠΌ являСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: строка Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π° Ρ‚Π΅ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½Π° записана Π² Ρ„Π°ΠΉΠ»Π΅ скрипта. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли скрипт записан Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ ISO-8859-1, Ρ‚ΠΎ ΠΈ строка Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² ISO-8859-1 ΠΈ Ρ‚.Π΄. Однако, это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π΅ примСняСтся ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Zend Multibyte: Π² этом случаС скрипт ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ записан Π² любой ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ (которая указываСтся ясно ΠΈΠ»ΠΈ опрСдСляСтся автоматичСски), Π° Π·Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, которая ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ впослСдствии использована для строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ². Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ скрипта (ΠΈΠ»ΠΈ Π½Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ, Ссли Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Zend Multibyte) Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ограничСния: практичСски всСгда данная ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ надмноТСством ASCII, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, UTF-8 ΠΈΠ»ΠΈ ISO-8859-1. Π£Ρ‡Ρ‚ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ, зависящиС ΠΎΡ‚ состояния, Π³Π΄Π΅ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ значСния Π±Π°ΠΉΡ‚ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ ΠΈ Π½Π΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ состоянии сдвига (initial and non-inital shift state), ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

РазумССтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΠΎΡΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·Ρƒ, строковыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдполоТСния ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ строки. К Π½Π΅ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, срСди PHP-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ довольно большоС Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ этому вопросу:

Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ счСтС, написаниС ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Unicode, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ остороТноС ΠΈΠ·Π±Π΅Π³Π°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Unicode ΠΈ, скорСС всСго, испортят Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ использованиС вмСсто Π½ΠΈΡ… ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠ· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ intl ΠΈ mbstring. Однако, использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, способных Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Unicode, являСтся самым Π½Π°Ρ‡Π°Π»ΠΎΠΌ. Π’Π½Π΅ зависимости ΠΎΡ‚ Ρ‚Π΅Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдоставляСт язык, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ самого Unicode. НапримСр, Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ сущСствованиС Π² языкС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строчных ΠΈ Π·Π°Π³Π»Π°Π²Π½Ρ‹Ρ… Π±ΡƒΠΊΠ², Ρ‚ΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

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

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Если строка Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ («), PHP распознаСт большСС количСство ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ для ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов:

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
\nновая строка (LF ΠΈΠ»ΠΈ 0x0A (10) Π² ASCII)
\rΠ²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ (CR ΠΈΠ»ΠΈ 0x0D (13) Π² ASCII)
\tΠ³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ табуляция (HT ΠΈΠ»ΠΈ 0x09 (9) Π² ASCII)
\vΠ²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ табуляция (VT ΠΈΠ»ΠΈ 0x0B (11) Π² ASCII) (с вСрсии PHP 5.2.5)
\eescape-Π·Π½Π°ΠΊ (ESC ΠΈΠ»ΠΈ 0x1B (27) Π² ASCII) (с вСрсии PHP 5.4.4)
\fΠΏΠΎΠ΄Π°Ρ‡Π° страницы (FF ΠΈΠ»ΠΈ 0x0C (12) Π² ASCII) (с вСрсии PHP 5.2.5)
\\обратная косая Ρ‡Π΅Ρ€Ρ‚Π°
\$Π·Π½Π°ΠΊ Π΄ΠΎΠ»Π»Π°Ρ€Π°
двойная ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°
\2ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ символа Π² Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния
\x[0-9A-Fa-f]ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ символа Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния

ΠœΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строками

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками Π² PHP сущСствуСт Ρ†Π΅Π»Ρ‹ΠΉ ряд спСциализированных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строк

Π’ PHP Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ:

Π­Ρ‚ΠΈΠΌ функциям ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ строка управлСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ ΠΈ сами Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π‘Ρ‚Ρ€ΠΎΠΊΠ° управлСния Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прямо ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ прСобразования. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ прСобразования начинаСтся с символа ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° (%) ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1

Анализ строк

PHP содСрТит мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π΄Π°ΡŽΡ‰ΠΈΡ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ строках. НаиболСС ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΠΌΡ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ строками

PHP содСрТит мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ управлСния строками. НаиболСС ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΠΌΡ‹ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками Π² 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)

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ сравнСния strcmp( ) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

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

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( ) продСмонстрирована Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

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

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

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

nl2br()

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

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

string nl2br (string строка)

Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ Π½ΠΎΠ²ΠΎΠΉ строки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ явно Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π² строку), Ρ‚Π°ΠΊ ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌΠΈ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅). Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ тСкстовая строка прСобразуСтся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ HTML посрСдством Π·Π°ΠΌΠ΅Π½Ρ‹ символов \n Ρ€Π°Π·Ρ€Ρ‹Π²Π°ΠΌΠΈ строк:

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).

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

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

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