Regular na expression php pagpapalit ng character. Mga regular na expression ng PHP. Ibinukod ang Mga Klase ng Character

Ang PHP, bilang angkop sa isang modernong programming language, ay nag-aalok sa developer ng isang hanay ng mga function para sa paggamit ng mga regular na expression. Maaari kang maghanap ng mga paglitaw ng mga string sa iba pang mga string gamit ang mga kumplikadong pamantayan.

  • PREG_PATTERN_ORDER;
  • PREG_SET_ORDER.

Pagbukud-bukurin ayon sa Opsyon 1 pinapangkat ang mga resulta ng paghahanap ayon sa regular na expression number (ang default). Sa pangalawang kaso, ang mga resulta ay pinagsama ayon sa kanilang lokasyon sa row.

Simbolo - elemento ng template

Mahalagang tandaan na ang template ay gumagana sa mga simbolo. Matagal nang nakalimutan ng programming kung ano ang "character" na uri ng data. Ang mga modernong wika ay hindi bumababa sa konsepto ng isang "string", ngunit tungkol sa pattern, kailangan mong maunawaan: ang mga simbolo ay manipulahin dito.

Ang pagbuo ng isang template, una sa lahat, ay tumutukoy sa kinakailangang pagkakasunod-sunod ng mga character. Kung malinaw mong naiintindihan ito, walang magiging mga error sa template. Sa anumang kaso, ito ay magiging mas kaunti.

  • a ay isang partikular na elemento ng template - isang simbolo.
  • Ang a-z ay isang elemento ng template, isa ring character, ngunit may value lang mula a hanggang z - lahat ng Latin sa lowercase.
  • Ang 0-9 ay isang numero, anumang numero, ngunit ang 1-3 ay 1, 2 o 3 lamang.

Ang kaso sa pattern ay mahalaga. Ang una at huling mga character ng pattern ay makabuluhan. Maaari mong tukuyin kung saan magsisimula at magtatapos ang template.

Template ng function

Ang PHP preg match ay gumagamit ng karaniwang regular na expression syntax. ipahiwatig ang isa sa mga simbolo na ipinahiwatig sa kanila:

  • mga karakter lamang a, b, c.
  • [^ABC] lahat maliban sa mga character A, B, C.
  • \w at \W - text o non-text na character.
  • \s at \S - whitespace o non-whitespace na character.
  • \d at \D - digit o hindi digit.

Ang mga umuulit na character ay ipinahiwatig ng mga kulot na braces - (n,m) at sumangguni sa nakaraang karakter.

  • n nagsasaad ng pag-uulit ng "hindi bababa sa";
  • m - pag-uulit ng "wala na".

Ang syntax ay nagbibigay ng maraming mga pagpipilian para sa paglikha ng mga template, ngunit ito ay pinakamahusay na magsimula sa mga pangunahing kaalaman, iyon ay, sa mga simpleng nakasulat sa iyong sariling kamay, kung saan ang mga kumplikadong elemento at kumbinasyon ay wala.

Sa madaling salita, sa pamamagitan ng paglilista ng mga tunay na character na kailangan, na nagpapahiwatig ng kanilang mga kinakailangang dami, at isinasaalang-alang na ang karakter na "^" ay tumutugma sa simula, at "$" sa dulo ng linya, maaari kang lumikha ng mga simpleng template. Sa pamamagitan ng pagsusuri sa mga tunay, mahusay na na-debug na mga regular na expression mula sa mga kwalipikadong eksperto, maaari kang makakuha ng matatag na kaalaman upang lumikha ng mga kumplikadong aplikasyon ng preg match all. Ang arsenal ng PHP ay hindi limitado sa dalawang function na ito, ngunit sila ang pinakakaraniwang ginagamit.

Simple Practice

pattern ng integer:

  • "/*/"

Gayundin isang integer pattern, ngunit maaaring mayroong isang sign sa harap ("+", "-"), at maaaring may mga karagdagang puwang sa harap/likod:

  • /^[\s|\+|\-](0,1)*/

Gayundin:

  • /^[\s|\+|\-](0,1)*(\.)*/ - isang numerong may tuldok.
  • /+@+\.(2,3)/ - opsyon para sa pagkilala sa e-mail.

Gamit ang iyong sariling mga template para sa preg match lahat, mga halimbawa ng mga ito sa Internet, ang pagsusuri sa code ng mga pahina ng website at iba pang mga mapagkukunan ay nagpapahintulot sa iyo na lumikha ng iyong sariling library ng mga template.

Mayroong maraming mga pagpipilian para sa paghahanap ng impormasyon. Sa partikular, ang huling dalawang konstruksyon na ibinigay sa itaas ay maaaring ma-modelo nang iba. Sa maraming pagkakataon, ibibigay ang kagustuhan sa template na nagbibigay ng gustong tugma nang mas mabilis at mas tumpak. Ang paggamit ng preg match sa lahat sa PHP, pati na rin ang mga katulad na function sa ibang mga wika, ay nangangailangan ng pagsasanay, atensyon, at paunang pagsusuri sa kawastuhan ng mga template.

Ang artikulong ito ay nagbibigay ng seleksyon ng mga halimbawa ng php regexp. Isang napakaganda at kapaki-pakinabang na koleksyon ng mga halimbawa ng regular na expression. Ang lahat ng mga halimbawa ng regular na expression ay katanggap-tanggap para sa PHP. Tangkilikin ito para sa iyong kalusugan!

Halimbawa ng pag-verify ng domain name

Sinusuri ng php snippet na ito kung valid na domain name ang string.

?:.*)+):?(d+)?/?/i", $url)) ( echo "Ok ang url mo."; ) else ( echo "Wrong url."; )

Halimbawa ng pag-highlight ng isang salita sa teksto

Isang napaka-kapaki-pakinabang na regular na expression para sa paghahanap at pag-highlight ng nais na salita sa teksto. Lalo na kapaki-pakinabang ang code kapag lumilikha ng output ng mga resulta ng paghahanap.

$text = "Sample na pangungusap mula sa KomunitasWeb, naging tanyag ang regex sa web programming. Ngayon ay natututo na tayo ng regex. Ayon sa wikipedia, ang mga Regular na expression (pinaikli bilang regex o regexp, na may mga plural na anyong regexes, regexps, o regexen) ay nakasulat sa isang pormal wika na maaaring bigyang-kahulugan ng isang regular na expression processor"; $text = preg_replace("/b(regex)b/i", " 1", $text); echo $text;

Isang halimbawa ng pagpapatupad ng pag-highlight ng mga resulta ng paghahanapWordPress

Buksan ang search.php file at hanapin ang_title() function. Palitan ito ng sumusunod na linya:

Echo $title;

Ngayon, bago ang pinalitan na linya, ipasok ang code na ito:

\0", $title); ?>

I-save ang iyong search.php file at buksan ang style.css. Idagdag ang sumusunod na linya dito:

Strong.search-excerpt ( background: yellow; )

Isang halimbawa ng pagkuha ng mga larawan mula saParaan ng HTML regexp

Ang piraso ng PHP code na ito gamit ang mga regular na expression ay naghahanap ng lahat ng mga imahe at ang kanilang url.

$images = array(); preg_match_all("/(img|src)=("|")[^"">]+/i", $data, $media); unset($data); $data=preg_replace("/(img|src)("|"|="|=")(.*)/i","$3",$media); foreach($data bilang $url) ($info = pathinfo($url); if (isset($info["extension"])) (if ($info["extension"] == "jpg") || ($info["extension"] == "jpeg") || ($info["extension"] == "gif") || ($info["extension"] == "png")) array_push($ mga larawan, $url); ))

Pag-alis ng mga duplicate na salita (case insensitive)

Madalas bang may mga salitang inuulit? Kung gayon ang halimbawa ng regular na expression na ito ay magiging kapaki-pakinabang sa iyo.

$text = preg_replace("/s(w+s)1/i", "$1", $text);

Pag-alis ng mga duplicate na puntos

Ang parehong bagay, lamang sa paulit-ulit na mga puntos.

$text = preg_replace("/.+/i", ".", $text);

XML/HTML tag na tumutugma

Ang simpleng function na ito ay tumatagal ng dalawang argumento: isang tag (na gusto mong itugma), xml, o html code.

Function get_tag($tag, $xml) ($tag = preg_quote($tag); preg_match_all("(<".$tag."[^>]*>(.*?).")", $xml, $matches, PREG_PATTERN_ORDER); ibalik ang $matches; )

Maghanap ng mga XHTML/XML tag na may mga partikular na value ng attribute

Ang halimbawang ito ay katulad ng nakaraang pag-andar, tanging maaari mo lamang palawakin ang paghahanap, halimbawa, paghahanap

.

Function get_tag($attr, $value, $xml, $tag=null) ( if(is_null($tag)) $tag = "\w+"; else $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); ibalik ang $matches; )

Paghahanap ng mga halaga ng kulay ng hexadecimal

Isang magandang halimbawa ng isang regular na expression na tumutugma sa mga halaga ng kulay ng hexadecimal sa mga ibinigay na string. Para saan ito? Baka gusto mong magsulat ng isang CSS code compression service, o isang katulad nito.

$string = "#555555"; if (preg_match("/^#(?:(?:(3))(1,2))$/i", $string)) (echo "example 6 successful."; )

Halimbawa ng paghahanappamagat sa isang ibinigay na pahina

Ang kawili-wiling halimbawa ng PHP code na may regexp ay nakakahanap at nagbabalik ng text sa pagitan ng mga tag At.

Feof($fp))( $page .= fgets($fp, 4096); ) $titre = eregi(" (.*)",$page,$regs); echo $regs; fclose($fp);

Apache log parsing

Karamihan sa mga site ay tumatakbo sa mga kilalang Apache server. Kung tumatakbo din dito ang iyong site, maaari mong i-parse ang log ng server gamit ang php regexp.

//Mga Log: Apache web server //Mga matagumpay na hit sa mga HTML file lang. Kapaki-pakinabang para sa pagbibilang ng bilang ng mga page view. "^((?#client IP o domain name)S+)s+((?#basic authentication)S+s+S+)s+[((?#date and time)[^]]+)]s+"(?: GET|POST|HEAD) ((?#file)/[^ ?]+?.html?)??((?#parameters)[^ ?]+)? HTTP/+"s+(?#status code)200s+((?#bytes ang inilipat)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#user agent )[^"]*)"$" //Mga Log: Apache web server //404 errors lang "^((?#client IP o domain name)S+)s+((?#basic authentication)S+s+S+) s+[((?#date and time)[^]]+)]s+"(?:GET|POST|HEAD) ((?#file)[^ ?"]+)??((?#parameters)[ ^ ?"]+)? HTTP/+"s+(?#status code)404s+((?#bytes ang inilipat)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#user agent )[^"]*)"$"

Halimbawa ng pagsuri sa pagiging kumplikado ng password

Isang mahusay na halimbawa ng isang regular na expression na sumusuri sa antas ng pagiging kumplikado ng isang password. Ang password ay dapat na 6 na character ang haba at naglalaman ng hindi bababa sa isang uppercase na character, isang lowercase na character, at isang numero.

"A(?=[-_a-zA-Z0-9]*?)(?=[-_a-zA-Z0-9]*?)(?=[-_a-zA-Z0-9]*?) [-_a-zA-Z0-9](6,)z"

Pinapalitan ang mga text emoticon ng mga graphic na emoticon

Papalitan ng halimbawang code na ito ang text emoticon sa iyong graphic. Kawili-wili at kapaki-pakinabang na PHP snippet.

$texte="Isang text na may smiley:-)"; echo str_replace(":-)"," ",$texte);

Halimbawa ng isang regular na expression upang makakuha ng mga larawan mula sahtml code

Ito ay nagkakahalaga na sabihin na ang php code na ito ay ginagamit sa wordpress upang maghanap at magproseso ng mga imahe.

post_content; $szSearchPattern = "~ ]* />~"; // Patakbuhin ang preg_match_all para kunin ang lahat ng larawan at i-save ang mga resulta sa $aPics preg_match_all($szSearchPattern, $szPostContent, $aPics); // Suriin kung mayroon kaming kahit 1 larawan $iNumberOfPics = count($aPics); if ($iNumberOfPics > 0) ( // Dito maaari mong iproseso ang iyong mga larawan // Sa halimbawang ito ay ipapakita lang ang mga ito sa monitor para sa ($i=0; $i< $iNumberOfPics ; $i++) { echo $aPics[$i]; }; }; endwhile; endif; ?>

Umaasa ako na nakita mong kapaki-pakinabang ang koleksyong ito ng mga halimbawa ng php regexp. Kung may mga kawili-wiling karagdagan o halimbawa ng mga regular na expression (php), isulat sa mga komento.

Paglalarawan ng function:

Ang preg_replace function ay naghahanap ng mga tugma ng isang regular na expression ( pattern ) na may data sa isang string ( paksa ) at pinapalitan ang mga ito ng data na natagpuan sa kapalit .

Pangangatwiran

Paglalarawan

pattern

Kinakailangang argumento. Regular na expression (patern ng paghahanap)

string, hanay

kapalit

Kinakailangang argumento. Isang string o array na naglalaman ng data na ginamit upang palitan ang data sa paksa

Maaari ka ring gumamit ng pagbuo ng form na \$(1) para sa mga link, na katumbas ng \$1; ginagamit ang construction na ito kung ang link ay agad na sinusundan ng isang numero (\$(1)1).

string, hanay
paksa Kinakailangang argumento. Isang string o array na naglalaman ng data na papalitan. string, hanay
limitasyon

Opsyonal na argumento. Pinakamataas na bilang ng mga pamalit. Ang default ay -1 (walang limitasyon)

int
bilangin

Opsyonal na argumento. Isang variable na naglalaman ng bilang ng mga ginawang pagpapalit.

int

Ang preg_replace() function ay maaaring gamitin sa /e modifier. Kapag naroroon ang modifier na ito, ang kapalit na parameter ay binibigyang kahulugan bilang PHP code at pagkatapos ay ginagamit para sa pagpapalit.

Mga Regular na Ekspresyon

Hiwalay, dapat tayong manatili sa mga regular na expression, nang walang pag-unawa kung saan medyo mahirap (kung hindi imposible) na maunawaan ang gawain ng function. preg_replace().

Ang isang medyo magandang paglalarawan ng mga regular na expression ay ibinigay sa wikipedia.org, ang mga pangunahing punto ng paggamit ng mga regular na expression ay inilarawan din

Mga halimbawa:

Halimbawa 1:

Sa halimbawang ito, pinapalitan namin ng mga asterisk ang lahat ng numerong nakalagay sa mga bracket.

Halimbawa 2:

Sa halimbawang ito, pinapalitan namin ang string na tumutugma sa buong pattern ng data na tumutugma sa unang subpattern sa reference na \$1. Sa madaling salita, ang "may 3 mansanas" na katumbas ng "/(\w+) (\d+) (\w+)/" ay papalitan ng "may" na katumbas ng (\w+).

Halimbawa 3:

Ipinapakita ng halimbawang ito kung ano ang mangyayari kung gumamit ka ng mga array bilang pattern at kapalit.

Halimbawa 4:

Ipinapakita ng halimbawang ito kung ano ang mangyayari kung gumamit ka ng mga array bilang pattern, kapalit at paksa.

Halimbawa 5:

Ipinapakita ng halimbawang ito ang paggamit ng /e modifier, ibig sabihin, kapag ang pagpapalit ay binibigyang kahulugan bilang php code. Nasa ibaba ang conversion ng mga character mula sa maliit hanggang sa upper case.

Halimbawa 6:

Ipinapakita ng halimbawang ito ang paggamit ng count argument. Dito ang resulta ay magiging katumbas ng 2, kaya nagkaroon ng dalawang kapalit.

magkakahalo preg_match(string pattern, string subject [, array &matches [, int flags [, int offset]]])

Hinahanap ang ibinigay na paksa ng teksto para sa mga tugma sa pattern ng pattern

Kung tinukoy ang karagdagang parameter ng mga tugma, mapupuno ito ng mga resulta ng paghahanap. Ang elementong $matches ay maglalaman ng bahagi ng string na tumutugma sa buong pattern, $matches ay maglalaman ng bahagi ng string na tumutugma sa unang subpattern, at iba pa.

maaaring kunin ng mga flag ang mga sumusunod na halaga:

PREG_OFFSET_CAPTURE

Kung tinukoy ang flag na ito, para sa bawat nahanap na substring, ipapakita ang posisyon nito sa source string. Mahalagang tandaan na binabago ng flag na ito ang format ng ibinalik na data: ang bawat pangyayari ay ibinabalik bilang isang array, ang zeroth na elemento nito ay naglalaman ng natagpuang substring, at ang unang elemento ay naglalaman ng offset. Available ang flag na ito sa PHP 4.3.0 at mas mataas.

Ang karagdagang parameter ng mga flag ay magagamit mula noong PHP 4.3.0.

Ang paghahanap ay isinasagawa mula kaliwa hanggang kanan, mula sa simula ng linya. Ang opsyonal na offset na parameter ay maaaring gamitin upang tumukoy ng alternatibong panimulang posisyon para sa paghahanap. Available ang karagdagang offset na parameter mula noong PHP 4.3.3.

Komento: Ang paggamit ng offset parameter ay hindi katumbas ng pagpapalit ng katugmang string ng substr($subject, $offset) kapag tinatawagan ang function preg_match_all(), dahil maaaring maglaman ang pattern ng mga kundisyon gaya ng ^ , $ o (? . Ihambing:

Habang ang halimbawang ito

Function preg_match() ibinabalik ang bilang ng mga tugma na natagpuan. Maaari itong maging 0 (walang nakitang tugma) at 1 dahil preg_match() hihinto sa paggana pagkatapos makita ang unang tugma. Kung kailangan mong hanapin o bilangin ang lahat ng mga tugma, dapat mong gamitin ang function preg_match_all(). Function preg_match() nagbabalik MALI sakaling magkaroon ng anumang mga error sa panahon ng pagpapatupad.

Clue: Huwag gamitin ang function preg_match(), kung kailangan mong suriin ang pagkakaroon ng isang substring sa isang ibinigay na string. Gamitin para dito strpos() o strstr(), dahil mas mabilis nilang matatapos ang gawaing ito.


Halimbawa 2. Hanapin ang salitang "web" sa text

/*
Ang espesyal na pagkakasunod-sunod \b sa pattern ay nangangahulugang isang hangganan ng salita,
samakatuwid, isang hiwalay na paglitaw lamang ng salitang "web" ang tutugma
mask, bilang kabaligtaran sa "webbing" o "cobweb".
*/
kung (preg_match("/\bweb\b/i" , "Ang PHP ang piniling wika ng web scripting.")) {
echo "Nahanap ang entry.";
) iba pa (
echo "Walang nakitang entry.";
)preg_match ("/\bweb\b/i", "Ang PHP ang napiling wika sa scripting ng website.")) {
echo "Nahanap ang entry.";
) iba pa (
echo "Walang nakitang entry.";
}
?>

Matagal ko nang gustong maunawaan ang mga regular na expression. Bagaman ang "isipin ito" ay isang malakas na salita. Upang makabisado ang mahusay na sining ng pagiging isang master ng mga regular na expression, kailangan mong patuloy na magtrabaho sa kanila. Hindi sapat na matutunan ang syntax, mga espesyal na character at modifier - kailangan mong magamit ang mga ito. At ang kakayahang gumamit ay kasama ng karanasan.

Sa post na ito ay mag-post ako ng mga halimbawa ng paggamit ng mga regular na expression, ang gawain na kung saan ako mismo ay naunawaan.

Talaan ng mga espesyal na karakter

Espesyal na karakter Paglalarawan
\ Simbolo ng pagtakas. Halimbawa: ‘/seo\/smo/’- tumutugma sa linyang naglalaman ng seo/smo.
^ Simula ng simbolo ng data. Halimbawa: ‘/^ seo/’— tumutugma sa isang linya na nagsisimula sa salitang seo.
$ Katapusan ng simbolo ng data. Halimbawa: '/blog$/'— tumutugma sa isang linya na nagtatapos sa salitang blog.
. Anumang character maliban sa line feed. Halimbawa: ‘/seo.ult/’- tumutugma sa string na seopult, seo9ult, seo@ult, atbp.
Sa loob ng mga bracket na ito ay nakalista ang mga character, alinman sa mga ito ay maaaring lumitaw sa isang partikular na posisyon, ngunit isa lamang. Halimbawa: '/seoult/'— ang mga linya lamang na naglalaman ng seopult, seokul, o seomult ang tutugma.
| O kaya. Halimbawa sa ibaba.
() Submask.
? Isa o walang paglitaw ng naunang karakter o subpattern.
* Anumang bilang ng mga paglitaw ng naunang karakter o subpattern. Kasama ang zero.
+ Isa o higit pang mga pangyayari.
Halimbawa: ‘/se+(op|om)?.*t/’- ang letrang s, pagkatapos ay isa o higit pang mga letrang e, pagkatapos nito ang kumbinasyong op o om ay maaaring lumitaw nang isang beses, o maaaring hindi isang beses, pagkatapos ay anumang bilang ng anumang mga simbolo at ang letrang t.
(a,b) Ang bilang ng mga paglitaw ng naunang karakter o subpattern mula a hanggang b. Halimbawa: (0,) - kapareho ng *, (0,1) - kapareho ng ?, (3,5) - 3, 4 o 5 na pag-uulit.

Mga simpleng halimbawa ng PHP script gamit ang mga regular na expression:

1) Nakaraang at kasunod na mga expression.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 // humanap ng salita kung saan ang ing ay kasunod ng Box. Kung ang salita ay natagpuan, ang function ay magbabalik ng totoo, kung hindi, mali.$pattern1 = "/Kahon(?=ing)/" ; preg_match($pattern1, "Araw ng Kahon"); // false preg_match ($pattern1, "Boxing Day" ); // totoo // humanap ng salita na walang ing after box. Kung ang salita ay natagpuan, ang function ay magbabalik ng totoo, kung hindi, mali.$pattern2 = "/box(?!ing)/" ; preg_match($pattern2, "Kahon para sa iPhone at iPad"); // true preg_match ($pattern2, "What is boxing day?"); // false preg_match ($pattern2, "css-moz-box-shadow" ); // totoo // maghanap ng salita kung saan ang ing ay hindi pinangungunahan ng kahon. Kung ang salita ay natagpuan, ang function ay magbabalik ng totoo, kung hindi, mali.$pattern3 = "/(?

[^<]+?~","seo blog",$text); echo $text; ?>

3) Kunin at ipakita ang halaga ng Alexa Rank ng isang partikular na site.

1 2 3 4 5 6 7 8 9 "#
(.*?)
#si", file_get_contents ( "http://www.alexa.com/siteinfo/($url)"), $a); return trim (str_replace ("," , "" , strip_tags ($a [1] ) )); ) $alexa = alexa($url) ; echo $alexa ; ?>

(.*?)

#si", file_get_contents("http://www.alexa.com/siteinfo/($url)"), $a); return trim(str_replace(",","",strip_tags($a))); ) $alexa = alexa($url); echo $alexa; ?>

4) Kunin at ipakita ang pamagat ng pahina.

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 ); // palitan ng mga puwang ang mga character ng newline at tab$content = preg_replace ("/(2,)/" , " " , $content ); // palitan ng isa ang higit sa 2 puwang preg_match_all("/ ]*href=(?:"| \" )(.*)(?:"|\" )[^<>]*>(.*)<\/a>/iU", $content , $links ); // mangolekta ng mga link kung (sizeof ($links [1] ) > 0 ) // kung may nakitang mga link($out = array () ; // hanay ng mga panlabas na link foreach ($link [1] bilang $v ) ( if (preg_match ("/http:\/\/(www\.)(0,1)" . $domain . "/i" , $v ) ) // alisin ang mga panloob na link( continue ; ) if ( preg_match ( "/(http:|https:)?\/\/(www\.)(0,1)(.*)/i", $v )) // panlabas na sanggunian( $out = $v ; ) ) return $out ; ) return array (); ) $domain = "site" ; $content = file_get_contents ("http://site/" ); $getoutlinks = getoutlinks($content, $domain) ; para sa ($i = 0; $i<= count ($getoutlinks ) ; $i ++ ) { echo $getoutlinks [ $i ] . "
" ; } ?>

]*href=(?:"|\")(.*)(?:"|\")[^<>]*>(.*)<\/a>/iU", $content, $links); // mangolekta ng mga link kung (sizeof($links) > 0) // kung ang mga link ay natagpuan ($out = array(); // array ng mga panlabas na link foreach ($links as $v ) ( kung (preg_match("/http:\/\/(www\.)(0,1)".$domain."/i", $v)) // tanggalin ang mga panloob na link ( magpatuloy; ) if (preg_match ("/(http:|https:)?\/\/(www\.)(0,1)(..com/"); $getoutlinks = getoutlinks($content, $domain); para sa ( $i = 0;$i<= count($getoutlinks); $i++) { echo $getoutlinks[$i]."
"; } ?>

saan:
preg_replace— Nagsasagawa ng paghahanap at pagpapalit gamit ang isang regular na expression.
preg_match— nagsasagawa ng pagsusuri laban sa isang regular na expression.
preg_match_all— hinahanap ang lahat ng mga tugma, habang ang preg_match ay nahahanap lamang ang una.
file_get_contents— kunin ang mga nilalaman ng file bilang isang linya.
pumantay— nag-aalis ng mga puwang sa simula at dulo ng isang linya.
str_replace— pinapalitan ang string ng paghahanap ng isang kapalit na string.
strip_tags— nag-aalis ng mga html at php tag mula sa isang string.
sukat ng— nakukuha ang bilang ng mga elemento sa variable.
bilangin— binibilang ang bilang ng mga elemento ng array o ang bilang ng mga katangian ng bagay.