protected function identifierQuotes($str) {
		#for every word
		return preg_replace_callback('/(?<![\.a-zA-Z0-9_'.$this->quote.'\(\)])[a-z_][a-zA-Z0-9._]*/', function($matches) {
			$res = [];
			foreach(explode('.', $matches[0]) as $substr) {
				if(preg_match('/^[a-z_][a-zA-Z0-9_]*$/', $substr))
					$res[] = $this->quote.$substr.$this->quote;
				else
					$res[] = $substr;
			}
			return implode('.', $res);
		}, $str);
	}
protected function identifierQuotes($str) {
		#for every word
		return preg_replace_callback('/(?<![\.a-zA-Z0-9_'.$this->quote.'\(\)])[a-z_][a-zA-Z0-9._]*/', function($matches) {
			$res = [];
			foreach(explode('.', $matches[0]) as $substr) {
				if(preg_match('/^[a-z_][a-zA-Z0-9_]*$/', $substr))
					$res[] = $this->quote.$substr.$this->quote;
				else
					$res[] = $substr;
			}
			return implode('.', $res);
		}, $str);
	}
protected function identifierQuotes ( $ str ) { #for every word
 return preg_replace_callback ( '/(?<![\.a-zA-Z0-9_' . $ this -> quote . '\(\)])[a-z_][a-zA-Z0-9._]*/' , function ( $ matches ) { $ res = [ ] ; foreach ( explode ( '.' , $ matches [ 0 ] ) as $ substr ) { if ( preg_match ( '/^[a-z_][a-zA-Z0-9_]*$/' , $ substr ) ) $ res [ ] = $ this -> quote . $ substr . $ this -> quote ; else $ res [ ] = $ substr ; } return implode ( '.' , $ res ) ; } , $ str ) ; }
Quote idenfitiers.
@param  string $str
@return string
Quote idenfitiers .