Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

leanribas

Expressão Regular

Recommended Posts

Bom dia!

 

Estou trabalhando em um código que possuia seguinte sintaxe:

function http_digest_parse($txt)
		{
						// protect against missing data
						$needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1);
						//$needed_parts = array();
						$data = array();
		
						preg_match_all('@(\w+)=(?:([\'"])([^\2]+)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER);
			
						//echo 'matches ' . $matches . '<br>';
						
						foreach ($matches as $m) {
										$data[$m[1]] = $m[3] ? $m[3] : $m[4];
										unset($needed_parts[$m[1]]);
						}
			
						return $needed_parts ? false : $data;
		}

mas não entendo o que está sendo feito na expressão regular, principalmente por causa do '@' não sei o que siginifica dentro da expressão regular. E tambem não ficou muito claro o que a função preg_match_all esta fazendo.

 

Desde já agradeço a atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia!

 

Estou trabalhando em um código que possuia seguinte sintaxe:

function http_digest_parse($txt)
		{
						// protect against missing data
						$needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1);
						//$needed_parts = array();
						$data = array();
		
						preg_match_all('@(\w+)=(?:([\'"])([^\2]+)\2|([^\s,]+))@', $txt, $matches, PREG_SET_ORDER);
			
						//echo 'matches ' . $matches . '<br>';
						
						foreach ($matches as $m) {
										$data[$m[1]] = $m[3] ? $m[3] : $m[4];
										unset($needed_parts[$m[1]]);
						}
			
						return $needed_parts ? false : $data;
		}

mas não entendo o que está sendo feito na expressão regular, principalmente por causa do '@' não sei o que siginifica dentro da expressão regular. E tambem não ficou muito claro o que a função preg_match_all esta fazendo.

 

Desde já agradeço a atenção.

Quanto a Exp. Regulares segue um site muito bom: http://guia-er.sourceforge.net/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.