Шавқовар

Муқаддима ба Preg дар PHP

Муқаддима ба Preg дар PHP


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

01оф 05

Функсияи Preg_Grep PHP

Функсияи PHP, preg_grep, барои ҷустуҷӯи массив барои намунаҳои мушаххас истифода мешавад ва пас боз массиви навро дар асоси он филтр бармегардонад. Ду роҳи баргардонидани натиҷаҳо мавҷуданд. Шумо метавонед онҳоро ба тариқи он баргардонед, ё ин ки шумо онҳоро иваз карда метавонед (ба ҷои он ки бозгашт танҳо он чизеро, ки мувофиқат намекунад, баргардонад). Чунин ифода шудааст: preg_grep (search_pattern, $ your_rray, optional_inverse).Барои ҷустуҷӯи_pattern бояд ифодаи муқаррарӣ бошад. Агар шумо бо онҳо шинос набошед, ин мақола ба шумо синтаксисро шарҳ медиҳад.

Ин код боиси маълумоти зерин мешавад:
Масса (4 => 4 5 => 5)
Массив (3 => се 6 => шаш 9 => нӯҳ)

Аввалан, мо тағирёбандаи $ маълумотро таъин мекунем. Ин рӯйхати рақамҳо, баъзеҳо дар шакли алфа, дигарон рақамӣ мебошанд. Аввалин чизе, ки мо иҷро мекунем, $ mod1 номида мешавад. Дар ин ҷо мо ҳама чизеро, ки 4, 5 ё 6 -ро дар бар мегирад, ҷустуҷӯ мекунем. Вақте ки натиҷаи мо дар поён чоп карда мешавад, мо танҳо 4 ва 5-ро пайдо мекунем, зеро 6 ҳамчун "шаш" навишта шуда буд, азбаски он ба ҷустуҷӯи мо мувофиқ набуд.

Баъд, мо $ mod2-ро иҷро мекунем, ки дар он ҳама чизи аломати рақамиро меҷӯяд. Аммо ин дафъа мо дохил мешавем PREG_GREP_INVERT. Ин маълумотҳои моро тағир медиҳад, ба ҷои баровардани рақамҳо, он ҳамаи вурудоти моро, ки рақамӣ набуданд, мебарорад (се, шаш ва нӯҳ).

02оф 05

Функсияи Preg_Match PHP

Дар Preg_Match Функсияи PHP барои ҷустуҷӯи сатр ва баргардонидани 1 ё 0 истифода мешавад. Агар ҷустуҷӯ бомуваффақият анҷом дода шуда бошад, 1 баргардонида мешавад ва агар 0 ёфт нашуда бошад, баргардонида мешавад. Гарчанде ки дигар тағирёбҳо илова карда шаванд, онҳо одатан чунин ифода мегарданд: preg_match (Ҷустуҷӯи_патнер, your_string). Search_pattern бояд ифодаи муқаррарӣ бошад.

Рамзи дар боло буда preg_match -ро барои санҷидани калимаи калидӣ (аввал афшура баъд тухм) ва ҷавобҳоро дар асоси он, ки оё ин дуруст аст (1) ё дурӯғ (0) аст. Азбаски он ин ду арзишро бармегардонад, он одатан дар як баёнияи шартӣ истифода мешавад.

03оф 05

Preg_Match_All PHP функсия

Preg_Match_All барои ҷустуҷӯи сатр барои намунаҳои муайян истифода мешавад ва натиҷаҳоро дар як саф нигоҳ медорад. Баръакси preg_match ки пас аз ёфтани бозии мувофиқро меҷуст, preg_match_all тамоми сатрро ҷустуҷӯ мекунад ва ҳамаи мувофиқатҳоро сабт мекунад. Чунин ифода шудааст: preg_match_all (намуна, сатр, $ array, ихтиёрӣ_боварӣ, ихтиёрӣ_офф).

Дар мисоли аввалини мо, мо PREG_PATTERN_ORDER -ро истифода мебарем. Мо 2 чизро меҷӯем; яке вақт, дигаре барчасп аст. Натиҷаҳои мо ба $ match баргардонида мешаванд, ҳамчун массиве, ки дар он $ match0 ҳама мувофиқатҳо мавҷуданд, $ match1 ҳамаи маълумотҳоро, ки ба ҷустуҷӯи зерини аввалини мо (вақт) мувофиқанд, ва $ match2 ҳамаи маълумотҳоро, ки ба зерқисми дуюми мо (ам / пм) мувофиқанд, дар бар мегирад. .

Дар мисоли дуюми мо, мо PREG_SET_ORDER -ро истифода мебарем. Ин ҳар як натиҷаи пурраи онро дар массив мегузорад. Натиҷаи аввал $ match0 мебошад, ки $ match00 бозии пурра мебошад, $ match01 зер-бозии аввал ва $ match02 бошад, бозии дуюм зер мебошанд.

04оф 05

Preg_Replace Функсияи PHP

Дар preg_replace функсия барои ёфтан ва ивази сатр ё сатр истифода мешавад. Мо метавонем як чизро барои ёфтан ва иваз кардани он диҳем (масалан, калимаи "ӯро" мефаҳмонад ва ба "вай" иваз мекунад), ё мо метавонем рӯйхати пурраи ашёҳоро (адад) барои ҷустуҷӯ, ҳар кадоми онҳо диҳем. ивазкунандаи мувофиқ. Ин ҳамчун ибора аст preg_replace (ҷустуҷӯ_барои иваз, ивазшаванда, бо_таъмин, ихтиёрии_лимит, ихтиёрии_ҳисоб) Маҳдудият бо нобаёнӣ ба -1 мерасад, ки ин маҳдуд нест. Дар хотир доред, ки_data шумо сатр ё сатр буда метавонад.

Дар мисоли аввалини мо, мо танҳо '-ро' ба 'а' иваз мекунем. Чӣ тавре ки мебинед инҳо сеНИтиТЕв мебошанд. Пас, мо массиве сохтем, бинобарин дар мисоли дуввуми худ мо ҳам калимаҳои '' 'ва' cat '-ро иваз мекунем. Дар мисоли сеюми мо, мо маҳдудиятро ба 1 гузоштем, бинобар ин ҳар як калима танҳо як маротиба иваз карда мешавад. Дар охир, дар мисоли 4-ум, мо ҳисоб мекунем, ки чанд ивазкуниро анҷом додаем.

05оф 05

Preg_Split функсияи PHP

Функсия Preg_Spilit барои гирифтани сатр истифода бурда мешавад ва онро дар як қатор мегузорад. Дар асоси сатри шумо сатр ба арзишҳои гуногун дар масса тақсим карда мешавад. Ин ҳамчун ибора аст preg_split (split_pattern, your_data, optional_limit, optional_flags)

Дар коди боло мо се тақсимро иҷро мекунем. Дар аввал мо, маълумотро аз рӯи ҳар як аломат тақсим мекунем. Дар дуввум, мо онро бо фазои холӣ тақсим карда, ба ин тариқ ҳар як калимаро (ва на ҳарфҳо) вурудоти массивро медиҳем. Ва дар мисоли сеюми мо, мо '' -ро истифода мебарем. Мӯҳлат барои тақсим кардани додаҳо, аз ин рӯ ба ҳар як ҷадвал ворид намудани массиви худ.

Зеро дар мисоли охирини мо мо '' '-ро истифода мебарем. давраи тақсимшавӣ, пас аз давраи ниҳоии мо як вуруди нав оғоз мешавад, бинобар ин мо парчамро илова мекунем PREG_SPLIT_NO_EMPTY то ки ҳеҷ гуна натиҷаҳои холӣ баргардонида нашаванд. Парчамҳои дигар мавҷуданд PREG_SPLIT_DELIM_CAPTURE, ки он инчунин хислати ҷудо кардани шуморо (масалан "." -и мо) ва PREG_SPLIT_OFFSET_CAPTURE, ки ҷубронро дар аломате, ки ҷудоӣ ба амал омадааст, сабт мекунад.

Дар хотир доред, ки split_pattern бояд ифодаи муқаррарӣ бошад ва ҳадди муқаррарӣ -1 (ё маҳдудият надорад), агар ягон нишон дода нашуда бошад, пешфарз аст.