Կանոնավոր արտահայտություններ php նիշերի փոխարինում: PHP կանոնավոր արտահայտություններ. Բացառված կերպարների դասեր
PHP-ն, ինչպես վայել է ժամանակակից ծրագրավորման լեզվին, մշակողին առաջարկում է մի շարք գործառույթներ՝ կանոնավոր արտահայտություններ օգտագործելու համար։ Դուք կարող եք որոնել տողերի երևույթներ այլ տողերում՝ օգտագործելով բարդ չափանիշներ:
- PREG_PATTERN_ORDER;
- PREG_SET_ORDER:
Դասավորել ըստ Տարբերակ 1-ի, խմբերի որոնման արդյունքներն ըստ կանոնավոր արտահայտության համարի (կանխադրված): Երկրորդ դեպքում արդյունքները խմբավորվում են ըստ իրենց գտնվելու վայրի շարքում:
Խորհրդանիշ - կաղապարի տարր
Կարևոր է հիշել, որ կաղապարը գործում է սիմվոլների վրա: Ծրագրավորումը վաղուց մոռացել է, թե ինչ է «նիշերի» տվյալների տեսակը: Ժամանակակից լեզուները չեն իջնում «լարի» հասկացությունից, բայց ինչ վերաբերում է օրինաչափությանը, պետք է հասկանալ. այստեղ խորհրդանիշները շահարկվում են:
Կաղապար կառուցելը նախ և առաջ նիշերի անհրաժեշտ հաջորդականության նշումն է։ Եթե դուք հստակ հասկանում եք սա, ապա կաղապարում սխալներ չեն լինի: Ամեն դեպքում, դա շատ ավելի քիչ կլինի։
- a-ն կաղապարի հատուկ տարր է՝ խորհրդանիշ:
- a-z-ը կաղապարի տարր է, նույնպես մեկ նիշ, բայց միայն a-ից z արժեքով, ամբողջը լատիներեն փոքրատառով:
- 0-9-ը մեկ թիվ է, ցանկացած թիվ, բայց 1-3-ը միայն 1, 2 կամ 3 է:
Օրինակի գործը կարևոր է: Նախշի առաջին և վերջին նիշերը նշանակալից են. Դուք կարող եք նշել, թե որտեղ է սկսվում և ավարտվում ձևանմուշը:
Ֆունկցիայի ձևանմուշ
PHP preg համընկնումն օգտագործում է ստանդարտ կանոնավոր արտահայտությունների շարահյուսություն: նշեք դրանցում նշված նշաններից մեկը.
- միայն a, b, c նիշերը:
- [^ABC] ամեն ինչ, բացի A, B, C նիշերից։
- \w և \W - տեքստային կամ ոչ տեքստային նիշ:
- \s և \S - բացատ կամ առանց բացատ նիշ:
- \d և \D - թվանշան կամ ոչ թվանշան:
Կրկնվող նիշերը նշվում են գանգուր փակագծերով - (n,m) և վերաբերում են նախորդ նիշին:
- n-ը նշանակում է «ոչ պակաս»-ի կրկնություն.
- մ - կրկնություն «ոչ ավելին»:
Շարահյուսությունը տրամադրում է կաղապարներ ստեղծելու բազմաթիվ տարբերակներ, բայց ավելի լավ է սկսել հիմունքներից, այսինքն՝ ձեր սեփական ձեռքով գրված պարզներից, որոնցում բացակայում են բարդ տարրերն ու համակցությունները:
Պարզ ասած՝ թվարկելով իրական նիշերը, որոնք անհրաժեշտ են, նշելով դրանց պահանջվող քանակությունը, և հաշվի առնելով, որ «^» նիշը համապատասխանում է տողի սկզբին, իսկ «$»-ը՝ տողի վերջին, կարող եք ստեղծել պարզ ձևանմուշներ։ Վերլուծելով իրական, լավ կարգաբերված կանոնավոր արտահայտությունները որակյալ փորձագետների կողմից՝ դուք կարող եք ձեռք բերել ամուր գիտելիքներ՝ preg match all-ի բարդ հավելվածներ ստեղծելու համար: PHP-ի զինանոցը չի սահմանափակվում միայն այս երկու գործառույթներով, բայց դրանք առավել հաճախ օգտագործվում են:
Պարզ պրակտիկա
Ամբողջական օրինակ.
- "/*/"
Նաև ամբողջ թվով օրինակ, բայց առջևում կարող է լինել նշան («+», «-»), և կարող են լինել լրացուցիչ բացատներ առջևի / հետևի մասում.
- /^[\s|\+|\-](0,1)*/
Նմանապես:
- /^[\s|\+|\-](0,1)*(\.)*/ - կետ ունեցող թիվ։
- /+@+\.(2,3)/ - էլ.փոստի ճանաչման տարբերակ:
Preg match-ի համար ձեր սեփական կաղապարների օգտագործումը, դրանց օրինակները ինտերնետում, վեբկայքի էջերի կոդի և այլ աղբյուրների վերլուծությունը թույլ է տալիս ստեղծել կաղապարների ձեր սեփական գրադարանը:
Տեղեկություններ գտնելու բազմաթիվ տարբերակներ կան: Մասնավորապես, վերը նշված վերջին երկու կոնստրուկցիաները կարող են տարբեր կերպ մոդելավորվել: Շատ դեպքերում նախապատվությունը կտրվի այն ձևանմուշին, որն ապահովում է ցանկալի համընկնումն ավելի արագ և ճշգրիտ: Preg match all-ի օգտագործումը PHP-ում, ինչպես նաև այլ լեզուներով նմանատիպ գործառույթները պահանջում են պրակտիկա, ուշադրություն և կաղապարների ճշգրտության նախնական ստուգում:
Այս հոդվածը ներկայացնում է php regexp օրինակների ընտրություն: Կանոնավոր արտահայտման օրինակների շատ գեղեցիկ և օգտակար հավաքածու: Բոլոր կանոնավոր արտահայտությունների օրինակները ընդունելի են PHP-ի համար: Վայելեք այն ձեր առողջության համար:
Դոմենի անվան ստուգման օրինակ
Այս php հատվածը ստուգում է, թե արդյոք տողը վավեր տիրույթի անուն է:
?:.*)+):?(d+)?/?/i", $url)) ( echo «Ձեր url-ը կարգին է»: ) else (echo «Սխալ url»:;)
Տեքստում բառը ընդգծելու օրինակ
Շատ օգտակար կանոնավոր արտահայտություն տեքստում ցանկալի բառը որոնելու և ընդգծելու համար։ Կոդը հատկապես օգտակար է որոնման արդյունքների ելք ստեղծելիս:
$text = "KomunitasWeb-ի նախադասության օրինակ, regex-ը հայտնի է դարձել վեբ ծրագրավորման մեջ: Այժմ մենք սովորում ենք ռեգեքսը: Ըստ Վիքիպեդիայի, կանոնավոր արտահայտությունները (կրճատվում են որպես regex կամ regexp, հոգնակի ձևերով regex, regexps կամ regexen) գրվում են ձևական ձևով: լեզու, որը կարող է մեկնաբանվել սովորական արտահայտությունների պրոցեսորով»; $text = preg_replace("/b(regex)b/i", " 1", $text); echo $text;
Որոնման արդյունքների ընդգծման իրականացման օրինակWordPress
Բացեք search.php ֆայլը և գտեք the_title() ֆունկցիան։ Փոխարինեք այն հետևյալ տողով.
Echo $title;
Այժմ, փոխարինված տողից առաջ, տեղադրեք այս կոդը.
\0", $title); ?>
Պահպանեք ձեր search.php ֆայլը և բացեք style.css-ը: Դրան ավելացրեք հետևյալ տողը.
Strong.search-հատված (ֆոն՝ դեղին; )
Պատկերներ ստանալու օրինակHTML regexp մեթոդ
PHP կոդի այս հատվածը՝ օգտագործելով կանոնավոր արտահայտություններ, որոնում է բոլոր պատկերները և դրանց url-ը:
$ պատկերներ = զանգված (); preg_match_all("/(img|src)=("|")[^"">]+/i", $data, $media); unset ($ data); $data=preg_replace("/(img|src)("|"|="|=")(.*)/i","$3",$media); foreach($data as $url) ( $info = pathinfo($url); if (isset($info["extension"])) ( if (($info["extension"] == "jpg") || ($info["extension"] == "jpeg") || ($info["extension"] == "gif") || ($info["extension"] == "png")) array_push($ պատկերներ, $url);))
Կրկնվող բառերի հեռացում (առանց մեծատառերի)
Հաճա՞խ են լինում կրկնվող բառեր: Ապա կանոնավոր արտահայտման այս օրինակը օգտակար կլինի ձեզ համար:
$text = preg_replace ("/s(w+s)1/i", "$1", $text);
Կրկնվող կետերի հեռացում
Նույնը՝ միայն կրկնվող կետերով։
$text = preg_replace ("/.+/i", ".", $text);
XML/HTML պիտակների համընկնում
Այս պարզ ֆունկցիան վերցնում է երկու փաստարկ՝ պիտակ (որը ցանկանում եք համապատասխանեցնել), xml կամ html կոդ:
Get_tag ֆունկցիան ($tag, $xml) ( $tag = preg_quote ($tag); preg_match_all ("(<".$tag."[^>]*>(.*?)".$tag.">.")", $xml, $matches, PREG_PATTERN_ORDER); վերադարձնել $matches; )
Որոնեք XHTML/XML պիտակներ հատուկ հատկանիշի արժեքներով
Այս օրինակը նման է նախորդ գործառույթին, միայն դուք կարող եք զգալիորեն ընդլայնել որոնումը, օրինակ գտնել
get_tag ֆունկցիան ($attr, $value, $xml, $tag=null) ( if(is_null($tag)) $tag = «\w+», այլապես $tag = preg_quote ($tag); $attr = preg_quote ($ attr); $value = preg_quote ($value); $tag_regex = "/<(".$tag.")[^>]*$attr\s*=\s*". "(["\"])$value\\2[^>]*>(.*?)<\/\\1>/" preg_match_all($tag_regex, $xml, $matches, PREG_PATTERN_ORDER); վերադարձնել $matches;)
Գույնի տասնվեցական արժեքների հայտնաբերում
Կանոնավոր արտահայտության հիանալի օրինակ, որը համապատասխանում է տրված տողերի տասնվեցական գույնի արժեքներին: Սա ինչի՞ համար է։ Միգուցե դուք ցանկանում եք գրել CSS կոդի սեղմման ծառայություն կամ նման բան:
$string = "#555555"; if (preg_match("/^#(?:(?:(3))(1,2))$/i", $string)) (echo "օրինակ 6-ը հաջողված"; )
Որոնման օրինակվերնագիր տվյալ էջի վրա
PHP կոդի այս հետաքրքիր օրինակը regexp-ով գտնում և վերադարձնում է տեքստը պիտակների միջև
Feof($fp))($էջ .= fgets($fp, 4096); ) $titre = eregi("
Apache տեղեկամատյանների վերլուծություն
Կայքերի մեծ մասն աշխատում է հայտնի Apache սերվերների վրա: Եթե ձեր կայքը նույնպես աշխատում է դրա վրա, ապա կարող եք վերլուծել սերվերի գրանցամատյանը՝ օգտագործելով php regexp:
//Գրանցամատյաններ. Apache վեբ սերվեր //Հաջողված հարվածներ միայն HTML ֆայլերին: Օգտակար է էջերի դիտումների քանակը հաշվելու համար։ "^((?#հաճախորդի IP կամ տիրույթի անուն)S+)s+((?#հիմնական նույնականացում)S+s+S+)s+[((?#ամսաթիվ և ժամ)[^]]+)]s+"(?: GET|POST|HEAD) ((?#ֆայլ)/[^ ?]+?.html?)??((?#parameters)[^ ?]+)? HTTP/+"s+(?#կարգավիճակի կոդ)200s+((?#բայթ փոխանցված)[-0-9]+)s+"((?#հղում)[^"]*)"s+"((?#user agent) )[^"]*)"$" //Գրանցումներ. Apache վեբ սերվեր //404 սխալներ միայն «^((?#հաճախորդի IP կամ տիրույթի անուն)S+)s+((?#հիմնական նույնականացում)S+s+S+) s+[((?#ամսաթիվ և ժամ)[^]]+)]s+"(?:GET|POST|HEAD) ((?#ֆայլ)[^ ?]+)??((?#parameters)[ ^?"]+)? HTTP/+"s+(?#կարգավիճակի կոդը)404s+((?#բայթ է փոխանցվել)[-0-9]+)s+"((?#հղում)[^"]*)"s+"((?#օգտագործողի գործակալ )[^"]*)"$"
Գաղտնաբառի բարդության ստուգման օրինակ
Կանոնավոր արտահայտության հիանալի օրինակ, որը ստուգում է գաղտնաբառի բարդության մակարդակը: Գաղտնաբառը պետք է բաղկացած լինի 6 նիշից և պարունակի առնվազն մեկ մեծատառ, փոքրատառ և թիվ:
«A(?=[-_a-zA-Z0-9]*?)(?=[-_a-zA-Z0-9]*?)(?=[-_a-zA-Z0-9]*?) [-_a-zA-Z0-9](6,)z"
Տեքստային էմոցիոնների փոխարինում գրաֆիկական էմոցիոններով
Այս օրինակ կոդը կփոխի տեքստային հուզապատկերը ձեր գրաֆիկականի: Հետաքրքիր և օգտակար PHP հատված:
$texte="Սմայլիկով տեքստ:-)"; echo str_replace(":-)"," ",$texte);
Սովորական արտահայտության օրինակ՝ պատկերներ ստանալու համարhtml կոդը
Արժե ասել, որ այս php կոդը օգտագործվում է wordpress-ում պատկերների որոնման և մշակման համար։
post_content; $szSearchPattern = "~ ]* />~"; // Գործարկեք preg_match_all՝ բոլոր պատկերները գրավելու համար և արդյունքները պահպանելու համար $aPics preg_match_all ($szSearchPattern, $szPostContent, $aPics); // Ստուգեք, թե արդյոք ունենք առնվազն 1 պատկեր $iNumberOfPics = count($aPics); եթե ($iNumberOfPics > 0) ( // Այստեղ դուք կարող եք մշակել ձեր պատկերները // Այս օրինակում դրանք պարզապես կցուցադրվեն մոնիտորի վրա ($i=0; $i)< $iNumberOfPics ; $i++) { echo $aPics[$i]; }; }; endwhile; endif; ?>
Հուսով եմ, որ ձեզ օգտակար է համարել php regexp օրինակների այս հավաքածուն: Եթե կան հետաքրքիր լրացումներ կամ կանոնավոր արտահայտությունների օրինակներ (php), գրեք մեկնաբանություններում։
Գործառույթի նկարագրությունը.
Preg_replace ֆունկցիան փնտրում է կանոնավոր արտահայտության ( օրինաչափություն ) համընկնումներ տողի ( առարկայի ) տվյալների հետ և դրանք փոխարինում փոխարինման մեջ հայտնաբերված տվյալներով :
Փաստարկ |
Նկարագրություն |
|
օրինակը |
Պահանջվող փաստարկ.Կանոնավոր արտահայտություն (որոնման օրինակ) |
տող, զանգված |
փոխարինում |
Պահանջվող փաստարկ.Տող կամ զանգված, որը պարունակում է տվյալներ, որոնք օգտագործվում են տվյալների փոխարինման համար առարկա Հղումների համար կարող եք նաև օգտագործել \$(1) ձևի կոնստրուկցիա, որը համարժեք է \$1-ին։ Այս կառուցվածքը օգտագործվում է, եթե հղմանը անմիջապես հաջորդում է (\$(1)1 թիվը։ |
տող, զանգված |
առարկա | Պահանջվող փաստարկ.Տող կամ զանգված, որը պարունակում է այն տվյալները, որոնք կփոխարինվեն: | տող, զանգված |
սահման | Ընտրովի փաստարկ.Փոխարինումների առավելագույն քանակը. Կանխադրված է -1 (անսահմանափակ) |
միջ |
հաշվել | Ընտրովի փաստարկ.Փոփոխական, որը պարունակում է կատարված փոխարինումների քանակը: |
միջ |
Preg_replace() ֆունկցիան կարող է օգտագործվել /e փոփոխիչի հետ: Երբ այս փոփոխիչն առկա է, փոխարինման պարամետրը մեկնաբանվում է որպես PHP կոդ և այնուհետև օգտագործվում է փոխարինման համար:
Կանոնավոր արտահայտություններ
Առանձին-առանձին, մենք պետք է կանգ առնենք կանոնավոր արտահայտությունների վրա, առանց որոնց հասկանալու բավականին դժվար է (եթե ոչ անհնար) հասկանալ գործառույթի աշխատանքը: preg_replace ().
Կանոնավոր արտահայտությունների բավականին լավ նկարագրությունը տրված է wikipedia.org-ում, նկարագրված են նաև կանոնավոր արտահայտությունների օգտագործման հիմնական կետերը.
Օրինակներ.
Օրինակ 1:
Այս օրինակում փակագծերում տեղադրված բոլոր թվերը փոխարինում ենք աստղանիշներով։Օրինակ 2:
Այս օրինակում մենք փոխարինում ենք ամբողջ օրինաչափությանը համապատասխանող տողը \$1 հղումով առաջին ենթաօրինաչափությանը համապատասխանող տվյալներով։ Այսինքն՝ «/(\w+) (\d+) (\w+)/»-ին համապատասխան «ունեն 3 խնձոր»-ը կփոխարինվի (\w+)-ին համապատասխան «ունեն»-ով։
Օրինակ 3:
Այս օրինակը ցույց է տալիս, թե ինչ է տեղի ունենում, եթե դուք օգտագործում եք զանգվածներ որպես օրինակ և փոխարինում:
Օրինակ 4:
Այս օրինակը ցույց է տալիս, թե ինչ է տեղի ունենում, եթե դուք օգտագործում եք զանգվածներ որպես օրինակ, փոխարինում և առարկա:
Օրինակ 5:
Այս օրինակը ցույց է տալիս /e փոփոխիչի օգտագործումը, այսինքն, երբ փոխարինումը մեկնաբանվում է որպես php կոդ: Ստորև ներկայացված է նիշերի փոխակերպումը փոքրից մեծատառ:
Օրինակ 6:
Այս օրինակը ցույց է տալիս count փաստարկի օգտագործումը: Այստեղ արդյունքը հավասար կլինի 2-ի, ուստի երկու փոխարինում եղավ։
խառը preg_match(լարային օրինաչափություն, լարային թեմա [, զանգված &համընկնում է [, int դրոշներ [, int offset]]])Որոնում է տվյալ տեքստի թեման՝ նախշի օրինակին համապատասխանելու համար
Եթե լրացուցիչ համընկնումների պարամետրը նշված է, այն կլցվի որոնման արդյունքներով: $matches տարրը կպարունակի տողի այն հատվածը, որը կհամապատասխանի ամբողջ օրինաչափությանը, $matches-ը կպարունակի տողի այն մասը, որը համապատասխանում է առաջին ենթաօրինաչափությանը և այլն։
դրոշները կարող են վերցնել հետևյալ արժեքները.
PREG_OFFSET_CAPTURE
Եթե նշված է այս դրոշը, յուրաքանչյուր հայտնաբերված ենթատողի համար կնշվի նրա դիրքը սկզբնաղբյուրի տողում: Կարևոր է հիշել, որ այս դրոշը փոխում է վերադարձված տվյալների ձևաչափը. յուրաքանչյուր երևույթ վերադարձվում է որպես զանգված, որի զրոյական տարրը պարունակում է գտնված ենթատողը, իսկ առաջին տարրը պարունակում է օֆսեթ։ Այս դրոշը հասանելի է PHP 4.3.0 և ավելի բարձր տարբերակներում:
Լրացուցիչ դրոշակների պարամետրը հասանելի է PHP 4.3.0-ից:
Որոնումն իրականացվում է ձախից աջ՝ գծի սկզբից։ Ընտրովի օֆսեթ պարամետրը կարող է օգտագործվել որոնման այլընտրանքային մեկնարկային դիրքը նշելու համար: Լրացուցիչ օֆսեթ պարամետրը հասանելի է PHP 4.3.3-ից:
Մեկնաբանություն:Օֆսեթ պարամետրի օգտագործումը համարժեք չէ ֆունկցիան կանչելիս համապատասխան տողը substr($subject, $offset)-ով փոխարինելուն: preg_match_all(), քանի որ նախշը կարող է պարունակել այնպիսի պայմաններ, ինչպիսիք են ^ , $ կամ (? . Համեմատել.
Մինչդեռ այս օրինակը
Գործառույթ preg_match ()վերադարձնում է հայտնաբերված համընկնումների քանակը: Այն կարող է լինել 0 (համընկնումներ չեն գտնվել) և 1, քանի որ preg_match ()դադարում է աշխատել առաջին հայտնաբերումից հետո: Եթե Ձեզ անհրաժեշտ է գտնել կամ հաշվել բոլոր համընկնումները, դուք պետք է օգտագործեք գործառույթը preg_match_all(). Գործառույթ preg_match ()վերադառնում է ՍՈՒՏկատարման ընթացքում որևէ սխալ առաջանալու դեպքում:
Հուշում.Մի օգտագործեք գործառույթը preg_match (), եթե Ձեզ անհրաժեշտ է ստուգել տվյալ տողի մեջ ենթալարի առկայությունը։ Օգտագործեք դրա համար strpos ()կամ strstr(), քանի որ նրանք շատ ավելի արագ կկատարեն այս խնդիրը։
Օրինակ 2. Տեքստում փնտրեք «վեբ» բառը
|
Ես վաղուց էի ուզում հասկանալ կանոնավոր արտահայտությունները։ Թեև «պարզել դա» ուժեղ բառ է: Սովորական արտահայտությունների վարպետ դառնալու մեծ արվեստին տիրապետելու համար հարկավոր է անընդհատ աշխատել նրանց հետ: Բավական չէ սովորել շարահյուսությունը, հատուկ նիշերը և փոփոխիչները, դուք պետք է կարողանաք օգտագործել դրանք: Իսկ օգտագործելու ունակությունը գալիս է փորձի հետ:
Այս գրառման մեջ կտեղադրեմ կանոնավոր արտահայտությունների օգտագործման օրինակներ, որոնց աշխատանքը ես ինքս հասկացել եմ։
Հատուկ կերպարների աղյուսակ
Հատուկ կերպար | Նկարագրություն |
---|---|
\ | Փախուստի խորհրդանիշ. Օրինակ: «/seo\/smo/»- համապատասխանում է այն տողին, որը պարունակում է seo/smo: |
^ | Տվյալների նշանի սկիզբ: Օրինակ: '/^seo/'— համապատասխանում է seo բառով սկսվող տողին: |
$ | Տվյալների ավարտի խորհրդանիշ: Օրինակ: «/բլոգ$/»— համընկնում է մի տողի, որն ավարտվում է բլոգ բառով: |
. | Ցանկացած նիշ, բացի տողերի հոսքից: Օրինակ: «/seo.ult/»- համապատասխանում է լարային seopult, seo9ult, seo@ult և այլն: |
Այս փակագծերի ներսում նշված են նիշերը, որոնցից ցանկացածը կարող է հայտնվել տվյալ վայրում, բայց միայն մեկը: Օրինակ: «/սեուլտ/»— կհամընկնեն միայն seopult, seokult կամ seomult պարունակող տողերը: | |
| | Կամ. Օրինակ ստորև. |
() | Ենթադիմակ. |
? | Նախորդ նիշի կամ ենթապատկերի մեկ կամ զրոյական երևույթ: |
* | Նախորդ նիշի կամ ենթապատկերի ցանկացած քանակի երևույթ: Այդ թվում՝ զրո։ |
+ | Մեկ կամ մի քանի երևույթ. |
Օրինակ: '/se+(op|om)?.*t/'- s տառը, այնուհետև մեկ կամ մի քանի e տառ, որից հետո op կամ om համակցությունը կարող է հայտնվել մեկ անգամ, կամ գուցե ոչ մեկ անգամ, հետո ցանկացած թվով նշաններ և t տառ: | |
(ա, բ) | Նախորդ նիշի կամ ենթապատկերի դեպքերի քանակը a-ից մինչև b: Օրինակ՝ (0,) - նույնը, ինչ *, (0,1) - նույնը, ինչ ?, (3,5) - 3, 4 կամ 5 կրկնություն: |
PHP սկրիպտների պարզ օրինակներ՝ օգտագործելով կանոնավոր արտահայտություններ:
1) Նախորդ և հաջորդ արտահայտությունները.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // գտնել մի բառ, որում ing-ը գալիս է Box-ից հետո: Եթե բառը գտնվի, ֆունկցիան կվերադարձնի true, եթե ոչ՝ false:$pattern1 = "/Box(?=ing)/" ; preg_match ($pattern1, «Box Day»); // false preg_match ($pattern1, «Boxing Day»); // ճիշտ // գտիր բառ, որը տուփից հետո ing չունի: Եթե բառը գտնվի, ֆունկցիան կվերադարձնի true, եթե ոչ՝ false:$pattern2 = "/box(?!ing)/" ; preg_match ($pattern2, «Box iPhone-ի և iPad-ի համար»); // true preg_match ($pattern2, «Ի՞նչ է բռնցքամարտի օրը»): // false preg_match ($pattern2, "css-moz-box-shadow"); // ճիշտ // գտնել մի բառ, որտեղ ing-ը չի նախորդում վանդակը: Եթե բառը գտնվի, ֆունկցիան կվերադարձնի true, եթե ոչ՝ false:$pattern3 = «/(? |
."; $text=preg_replace("~[^<]+?~","seo blog",$text); echo $text; ?>
3) Ստացեք և ցուցադրեք տվյալ կայքի Alexa Rank արժեքը:
1 2 3 4 5 6 7 8 9 | "# (.*?) #սի", file_get_contents ( «http://www.alexa.com/siteinfo/($url)») , $a ) ; վերադարձի կտրվածք (str_replace ("," , "" , strip_tags ($a [ 1 ] ) ) ; ) $alexa = alexa ($url) ; արձագանք $alexa ; ?> |
.+?">(.*?)
4) Ստացեք և ցուցադրեք էջի անվանումը:
1 2 3 4 5 | (.*)<\/title>/s" , $str , $m ) ; echo $m [ 1 ] ; ?> |
(.*)<\/title>/s", $str, $m); echo $m; ?>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | \n \r \t ]/", "" , $content ); // փոխարինել նոր տողի և ներդիրի նիշերը բացատներով$content = preg_replace ("/(2,)/" , " " , $content ); // փոխարինել ավելի քան 2 բացատ մեկով preg_match_all("/ ]*href=(?:"| \"
)(.*)(?:"|\"
)[^<>]*>(.*)<\/a>/iU», $բովանդակություն, $links ); // հավաքել հղումներ, եթե (sizeof ($links [ 1 ] ) > 0 ) // եթե գտնվեն հղումներ($out = զանգված () ; // արտաքին հղումների զանգված foreach ($links [1] որպես $v) ( if (preg_match ("/http:\/\/(www\.)(0,1)" . $domain. "/i", $v)) // ջնջել ներքին հղումները(շարունակել;) if (preg_match ( «/(http:|https:)?\/\/(www\.)(0,1)(.*)/i", $v )) // արտաքին հղում($out = $v;)) վերադարձնել $out; ) վերադարձի զանգված () ; ) $domain = "կայք" ; $content = file_get_contents ("http://site/"); $getoutlinks = getoutlinks ($content, $domain) ; համար ($i = 0; $i<=
count
($getoutlinks
)
;
$i
++
)
{
echo
$getoutlinks
[
$i
]
.
" " ; } ?> |
]*href=(?:"|\")(.*)(?:"|\")[^<>]*>(.*)<\/a>/iU», $content, $links); // հավաքել հղումներ, եթե (sizeof($links) > 0) // եթե հղումներ գտնվեն ( $out = array(); // արտաքին հղումների զանգվածը foreach ($links as $v ) ( if (preg_match("/http:\/\/(www\.)(0,1)".$domain."/i", $v)) // ջնջել ներքին հղումները (շարունակել; ) if (preg_match ("/(http:|https:)?\/\/(www\.)(0,1)(..com/"); $getoutlinks = getoutlinks($content, $domain); համար ( $i = 0;$i<= count($getoutlinks); $i++)
{
echo $getoutlinks[$i]."
";
}
?>
Որտեղ:
preg_replace— Կատարում է որոնում և փոխարինում՝ օգտագործելով կանոնավոր արտահայտություն:
preg_match— ստուգում է կանոնավոր արտահայտության նկատմամբ:
preg_match_all— գտնում է բոլոր համընկնումները, մինչդեռ preg_match-ը գտնում է միայն առաջինը:
file_get_contents— ստացեք ֆայլի բովանդակությունը մեկ տողով:
կտրել— հեռացնում է տողի սկզբում և վերջում բացատները:
str_replace— փոխարինում է որոնման տողը փոխարինող տողով:
strip_tags— հեռացնում է html և php պիտակները տողից:
չափը— ստանում է փոփոխականի տարրերի քանակը:
հաշվել— հաշվում է զանգվածի տարրերի թիվը կամ օբյեկտի հատկությունների քանակը: