leanribas 0 Denunciar post Postado Setembro 19, 2008 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
Andre Casertano 0 Denunciar post Postado Setembro 19, 2008 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