ftp_base::glob_pattern_match()publicWP 1.0

Метод класса: ftp_base{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

$ftp_base = new ftp_base();
$ftp_base->glob_pattern_match( $pattern, $subject );
$pattern (обязательный)
-
$subject (обязательный)
-

Код ftp_base::glob_pattern_match() WP 6.5.2

function glob_pattern_match($pattern,$subject) {
	$out=null;
	$chunks=explode(';',$pattern);
	foreach($chunks as $pattern) {
		$escape=array('$','^','.','{','}','(',')','[',']','|');
		while(str_contains($pattern,'**'))
			$pattern=str_replace('**','*',$pattern);
		foreach($escape as $probe)
			$pattern=str_replace($probe,"\\$probe",$pattern);
		$pattern=str_replace('?*','*',
			str_replace('*?','*',
				str_replace('*',".*",
					str_replace('?','.{1,1}',$pattern))));
		$out[]=$pattern;
	}
	if(count($out)==1) return($this->glob_regexp("^$out[0]$",$subject));
	else {
		foreach($out as $tester)
			// TODO: This should probably be glob_regexp(), but needs tests.
			if($this->my_regexp("^$tester$",$subject)) return true;
	}
	return false;
}