Regex sa PHP

R

Unsa ang Regular nga Ekspresyon?

Ang regular nga ekspresyon sa batakan nagsugod gikan sa matematika nga naghubit sa usa ka lainlaing mga karakter alang sa usa ka katuyoan. Nagkalainlain nga mga lengguwahe ang nakakuha ug mga pakisayran gikan sa kini nga konsepto sa matematika ug gigamit kini alang sa pagpangita sa mga sumbanan ug pag-validate sa datos. Niini nga artikulo, makakat-on ka sa regex sa PHP.

Adunay daghang mga kaso sa paggamit sa regex sa PHP sama sa pagpangita, pag-validate, ug uban pa. Niini nga artikulo, mahibal-an nimo ang bahin sa mga regular nga ekspresyon sa mga pattern sa pagpangita. Kung masabtan na nimo ang regex, magamit nimo kini bisan asa sa PHP.

Ang usa ka regular nga ekspresyon mahimong gamiton sa pagpangita sa teksto gikan sa mga string o sa pag-ilis sa piho nga mga karakter o mga string.

Ang usa ka regular nga ekspresyon mahimong usa ka karakter o kombinasyon sa pipila ka komplikado nga mga sumbanan.

Syntax sa regular nga ekspresyon sa PHP

Ang delimiter mahimong bisan unsang karakter nga dili letra, numero, backslash, o luna. Ang kasagarang delimiter mao ang forward-slash (/), pero kung ang imong pattern adunay forward slashes mas sayon ​​ang pagpili sa ubang mga delimiter sama sa # o ~.

Kasagaran, ang regular nga ekspresyon sa PHP naglangkob of tulo ka bahin.

  1. Delimiter – Kini nagtino nga nagsulti sa sinugdanan o katapusan sa hilo sa sumbanan. Ang delimiter dili mahimong backslash, numero, letra, o luna. Bisan pa, ang usa ka forward slash mahimong magamit ingon usa ka delimiter. Kung ang mga pattern nga imong gipangita naglangkob sa pagpasa sa mga slash, mahimo nimong usbon ang delimiter aron ikiling ang ~ o hash #.
  2. sumbanan – Gipiho niini ang sumbanan o han-ay sa mga karakter nga pangitaon.
  3. Mga Modifier (opsyonal) – Mahimo nimong himoon nga dili sensitibo o sensitibo ang pagpares sa mga kaso sa pattern.

Panig-ingnan

$exp = "/php.org/i";

RegextFunctions sa PHP

Naghatag ang PHP og mga built-in nga function para sa regular nga mga ekspresyon. Ang labing komon nga regex function sa PHP mao ang:

  • Preg_replace() – Kini nag-ihap sa gidaghanon sa mga higayon nga ang pattern mahitabo sa hilo ug ibalik ang ihap.
  • Preg_match() – mobalik 0 sa kaso sa pattern nga dili makita sa hilo. 1 kung makit-an.
  • Preg_match_all() – Kini nga function nag-ilis sa hilo sa lain nga hilo diin ang sumbanan gipares. Makakuha ka og mas klaro nga ideya sa sunod nga seksyon kung naglisud ka sa pagsabut.

preg_match function sa PHP

Ang Preg_match function nagbalik sa binary nga resulta. Kana mao ang 0 o 1. Kung ang hilo naglangkob sa sumbanan nga imong gitakda sa unang argumento sa preg_match function, kini mobalik 1. 0 sa kaso nga dili makita.

Tan-awa ang mosunod nga pananglitan, diin atong pangitaon ang string para sa mga karakter nga PHP.

<?php
$str = "Visit php.org";
$pattern = "/php/i";
echo preg_match($pattern, $str); // Outputs 1
?>

preg_match_all function sa PHP

Kini nga function wala magsulti kung ang sumbanan anaa sa hilo o wala. Gibalik niini ang ihap sa gidaghanon sa mga higayon nga makita ang usa ka pattern sa hilo. Tan-awa ang mosunod nga pananglitan diin naghimo kami og usa ka case-insensitive nga pagpangita sa mga pattern sa gihatag nga string.

Panig-ingnan

<?php
$str = "It is raining heavily. Cars are slipping outside. ";
$pattern = "/ing/i";
echo preg_match_all($pattern, $str); // Outputs 4
?>

/i sa pananglitan sa ibabaw ipiho nga ang hilo mahimo sa gamay nga letra o taas nga letra.

preg_replace function sa PHP

pasi_puli function nagbalik sa usa ka bag-ong hilo pinaagi sa pag-ilis sa sumbanan nga makit-an sa hilo sa uban pang mga hugpong sa mga karakter. Kini nga function modawat sa tulo ka mga parameter. Ang unang parametro mao ang pattern nga pangitaon sa string sa ikaduhang parametro. Sa katapusan, ang ikatulo nga parameter mao ang hilo nga ibutang sa lugar sa sumbanan nga makita sa hilo.

Tan-awa ang mosunod nga pananglitan, diin atong ilisan ang pulong nga website sa PHP.org

Panig-ingnan

<?php
$str = "Visit Website!";
$pattern = "/Website/i";
echo preg_replace($pattern, "php.org", $str); // Outputs "Visit php.org!"
?>

Regular nga Expression Modifiers

Mahimo nimong i-adjust ang kinaiya sa pagpangita sa regex sa PHP pinaagi sa pagtino sa mosunod nga mga baryable sa modifier.

  1. I – Gigamit sa paghimo sa case-insensitive nga pagpangita.
  2. U – Alang sa husto nga pagpangita sa utf-8 nga mga sumbanan.
  3. M - Nagdugang daghang pagpangita sa PHP regex. Adunay pipila ka mga sumbanan nga nangita sa sinugdanan o katapusan sa matag linya. Busa, kini nga mga sumbanan nagtan-aw sa sinugdanan ug katapusan sa matag linya sa hilo.

Itakda ang range sa PHP regex

Sabta ang mosunod nga tulo ka mga konsepto. Makatabang kini kanimo nga ibutang ang range sa mga pattern samtang nangita sa teksto o gipulihan kini.

  1. [abc] – Ang mga square bracket nagpakita nga makit-an ang bisan unsang karakter gikan sa kini nga mga karakter sa hilo.
  2. [^0-9] – Pangitaa ang mga karakter nga wala sa range sulod sa mga bracket.
  3. [0-9] – Pangitaa ang bisan unsang karakter sa taliwala sa 0 hangtod 9. Ang 0 ug 9 apil niini nga kaso.

Mahibal-an nimo ang dugang bahin sa mga gimbuhaton sa Regex sa PHP dinhi

Idugang ang komentaryo

Network sa Tutor

Pagkat-on sa PHP gikan sa A hangtod Z