2012-11-09 2 views
1

내가 가지고있는 문자열 데이터정규 표현식을 사용하여 값을 얻을

$pages = "mangaName=&authorArtist=asdas123s&genres=sn&genres[23]=on&genres[29]=on&status=&chrome=&submit=+"; 

function get_h1($file){ 
    $h1tags = preg_match_all('/\[(\w*)\]/is',$file,$patterns); 
    $res = array(); 
    array_push($res,$patterns[2]); 
    array_push($res,count($patterns[2])); 
    return $res; 
} 

전 장르에 수 [23]을 얻을 싶어, 장르 [29]

[0] => 23 [1] => 29

+0

http://php.net/parse_str은 어떻습니까? – zerkms

+0

'장르 [23], 장르 [29]'에 대한 번호를 얻고 싶습니다. 나는 이해하지 못했다. 다시 말해 줄 수 있니? –

답변

1
$pages = "mangaName=&authorArtist=asdas123s&genres=sn&genres[23]=on&genres[29]=on&status=&chrome=&submit=+"; 

parse_str($pages, $parsed); 

var_dump(array_keys($parsed['genres'])); // array(2) { [0]=> int(23) [1]=> int(29) } 
0

zerkms '대답으로, preg_match_all 올바른 것이지만 regexp를 사용하려면 다음 코드로 변경하십시오.

preg_match_all('/\[(\w*?)\]/is',$file,$patterns); 
note the non-greedy __^ 
관련 문제