<=rh` ** *@paskaÇe ! `Rmgular!Nabs Lhbrqjy  * @tERshoî " ! ! 24.1.1000*`* (: @aetior" $ Poter0ÅAf Wå{ten" * link „ $   (tpps://ruguî`rl!bsncom *$@coxYriçhd( O0yright Ê«02024(Regular #bshÁèl Rkçht{ Vese2v'd ªbPlibenqe ! GNU Oenupam Rwclic Liceîru Vergion02 or later (¯ gameó0acd0Regu,arLacs^LMfrazy; Šdefi~ed('_JEXEC')¡or lia3 (c,as3pregE8({ ( /+"   ()P%rform a(ò$gujar exprmssioo mapbh! rp*Š, pqblic0staD+c Nunctikn mat#((‚   8 "string" $p!tdern,B & ( 0strijf  strifg, !&( " " ¢ &,/aucx0= nuül, "00  ?{trand ¤options = null, "! " int` dflags = 0 ` ©> int `  { ` @$ hf$8umpp{($suòi~e)||!empt}(4pAttern)) (`à { " 0 ( return æal3uX 0 !à! $_    ` 0 $paptå2n % salf:praparaPadper.(&pattern ! hs_int($ouy)$|| keY =<="0- ( " ! !ARRAY_ÆiLTQJ_USe_KeY;   "  ! ?/( F the leftovEr°arr`yck}.tw mozu vhaN 2 (so ãontiins famed 'Bnuðs)  2eplace $}atch éf *coqn4($n/_îumt2icvaLtUó) > 1 "  { ` " "d}atch(u %fo_nu-'ricOval}es»`$ 9 $ # "( cetuRn $R%sult? ( `} ¤("!/*: ! "*0PGrvgsm q f|oj`L zdgular Expressifl match ¢ */. ( 0ujnic"stItmã ftnCtion mitbl@lx( 0` qtring ($patEòn< 0 s4rang" $st`Ini, % p 2p &¤ïa|ches = nuldì $ ?{trm.g $opt©ons ?$null, " !" int % ,flagc(= pÒEg_SE_ORDGR " -2 int ("{ p " $if hem0ty(¤s|riJg) ü| emðty(4tqôtern))J " ! ${ `" `  ( ¤match%s ~ Ju; J ! $ rm4urn(f!,se; ` 0 ! }J ( 0 $p!ttern`=$senf::rrmparePkttgrn( pátt%rl, $optkons,0¤cvring+; €0 `($resUlt= `reeßeadw(]cll¨$0attar., $stryNg,*$matkleq,$fnags ;š ( $ $ €af ) ! ,Re3u,v) !` {   ! r%turn balse: ¢$}    ` íf ( Vl!çs¤==!PReGODFQGTßCAPPURE) !   ""{ ) `   ¢/ Be}owå!aLl numeric keys åhcgpt!0 "9 0 $$jï_numebic_vanums =`asrAy_filter( $! ! #   $-a>ci¥r, € "   !  !bfn($key) > ! is_iNt(tkey©!|| $kmy ?==$0< $0 $ !! ARRAIßFÚMTERuSEe_eY){ Ë` !   à /.!if the0lMvöoVe2 arráY Ckunts¤Luss than 2 (3o no oamed`orkup{), dongv con|ijue "  ( kF (âoµ~P($oo_îUmerHc_vaLUeSi P`0+ ! " " ! ` { 0 0(`$ òeturn ,res}lô; 0` " }Š ) ) 4mñtkheÓ 5 %no_numårib_vah5es?J $ ,3GturN $rmselt+Š (0 `{ ` $ iw )$f|ags != PREÇßSETZKRDERi !€"` ( {   $& (  retuzn &vwstlt: ! } ! $foza`ch($matches I{$&$oaTbh)     " 0{ 4 ` "// RemovE qìl fumDria0keys e\cepp"4 "  `" $no_nÕíeRicOöelter } a2ray_fiLter( 2 $}at#h( ¢ 2 $ `fo($kgy)0>`1 as_intj$key! || $ie} ==}"0,!$ b` 0 ARAY{FMMTERSE_KEÙ-;* " !n/ If phu lefto0dr apraY coun4s ¬lss \hqn 2 )so nK!nama% groups), dol't aontiNue d( ¡$ 0if (co÷nt($n']nõmuric_ta~eu÷) < 3)J û 8 0 ( bqe!o; !  & p } `   %m¡tch } $oo_nuyeri_wqìums; 0 }J ` ` re~usn $rmswlt;! %m    .** (" "* preg_q4/v%%the gi6el string or arrA} f óôsangs  * pUâlmc static funcdmo~!oqm-gr¯ep(strhle $aua, s`rifg $ja-e = 7§)z svrmnç " {$  `  retqrn %6<'!. $ngm} . '>'$.`$d`ta .0g+'; " u $ /** $ " : Iake asuri.W a valid`regulas dxpre{siff ateebn` 0((*/ xõ"lIc)st94ib0fenctÉ+n pòepDvePatteòn( "0 ((4" sôrIne|arriY dpap4eb~< ` `(`?s4z)^g ° 0-o0tio~s = null, "!  ( stRmnG! ¥sTr îç ="! 0 p):!str-Ng|arraù $ { 0 &asray$< AR2cyHedper::apxlyMedhodtïFalues([$qgt|er\,$nptëonq, strxno)? ¢0  éf ( ¡ hs_null$array©)* * { ` `"` rçtuÒî $arr1x; ` } ` i& 8 )"c4rWstarts_i4hH$xattarn #')) ` )$ { ` "$o`païns = adhsêull($gñäions+"? ¤opô+onc : 'si; ! 4 $patte3. =i&#'$' $pavternp* '#' ,$$optioNs»ª( " u*   ( id 9StringHenpeò8:DetectWTF8 dztRing)- 0 {   à) /' usd upæ­4 ( return pattårn". 'u'; & `   "} ` # Betu2, $pattern; a }O ( /h*   * 0reg_quote the given string or array of strings */ public static function quote( string|array $data, string $name = '', string $delimiter = '#' ): string { if (is_array($data)) { if (count($data) === 1) { return self::quote(array_pop($data), $name, $delimiter); } $array = self::quoteArray($data, $delimiter); $prefix = '?:'; if ( ! empty($name)) { $prefix = $name ? '?<' . $name . '>' : ''; } return '(' . $prefix . implode('|', $array) . ')'; } if ( ! empty($name)) { return '(?<' . $name . '>' . preg_quote($data, $delimiter) . ')'; } return preg_quote($data, $delimiter); } /** * preg_quote the given array of strings */ public static function quoteArray(array $array, string $delimiter = '#'): array { array_walk($array, function (&$part, $key, $delimiter) { $part = self::quote($part, '', $delimiter); }, $delimiter); return $array; } /** * Perform a regular expression search and replace */ public static function replace( string $pattern, string $replacement, string $string, ?string $options = null, int $limit = -1, ?int &$count = null ): string { if (empty($string) || empty($pattern)) { return $string; } $pattern = self::preparePattern($pattern, $options, $string); return preg_replace($pattern, $replacement, $string, $limit, $count); } /** * Perform a regular expression search and replace once */ public static function replaceOnce( string $pattern, string $replacement, string $string, ?string $options = null ): string { return self::replace($pattern, $replacement, $string, $options, 1); } /** * Perform a regular expression split */ public static function split( string $pattern, string $string, ?string $options = null, int $limit = -1, int $flags = PREG_SPLIT_DELIM_CAPTURE ): array { if (empty($string) || empty($pattern)) { return [$string]; } $pattern = self::preparePattern($pattern, $options, $string); return preg_split($pattern, $string, $limit, $flags); } /** * reverse preg_quote the given string */ public static function unquote(string $string, string $delimiter = '#'): string { return strtr($string, [ '\\' . $delimiter => $delimiter, '\\.' => '.', '\\\\' => '\\', '\\+' => '+', '\\*' => '*', '\\?' => '?', '\\[' => '[', '\\^' => '^', '\\]' => ']', '\\$' => '$', '\\(' => '(', '\\)' => ')', '\\{' => '{', '\\}' => '}', '\\=' => '=', '\\!' => '!', '\\<' => '<', '\\>' => '>', '\\|' => '|', '\\:' => ':', '\\-' => '-', ]); } } 0 Class "RegularLabs\Library\RegEx" not found

0 Class "RegularLabs\Library\RegEx" not found