2013-04-01 6 views
1

"location":"Denton TX" (큰 따옴표 포함) 이 문자열은 단지 Denton TX이되고 싶습니다. 어떻게 정규 표현식을 쓸 수 있습니까? 정규 표현식이 혼란스러운 경우

나는
function getInfo($info,$content){ 
    echo 'getting INFO'; 
    preg_match_all("\.".$info."\.:\"[^\"]*(.*?)\.,",$content,$matches,PREG_PATTERN_ORDER); 
    print_r($matches); 
    return $matches[0]; 
} 

을 시도하고 나는 $info에 '위치'를 넣어하지만 그것은 작동하지 않습니다.

+2

[구분 기호] (http://www.php.net/manual/en/regexp.reference.delimiters.php)가 필요한 것과 같은 오류가 있습니까? – Wiseguy

+0

아무런 오류도 발생하지 않았습니다. T___T –

+0

두 번째로 구분 기호가 부족합니다. 또한 http://www.whathaveyoutried.com/ – Adrian

답변

0

인용 부호 사이의 모든 문자를 가져옵니다. 너 너무 가까웠다. 당신이 특정 비트를 쓴 이유를 잘 모르겠어요

"\"".$info."\":\"([^\"]+)\"" 

하지만 정규 표현식의 가장 큰 문제는 너무 욕심과 의지하는의 [^\"]*입니다 :

"\.".$info."\.:\"([^\"]*)\" 
+0

아직 작동하지 않습니다. T__T 왜 안 되니? 함수 getInfo ($ info, $ content) { echo '점점 정보'; preg_match_all ("\" "$ $") $ \ "($ \" 0] } 에서 print_r이 –

0

나는이에 가고 싶어 모든 것을 소비하고 (.*?)을 비워 두십시오. (글쎄, 큰 따옴표로 시작하지 않는 한). 또한 실제로 쉼표가 끝나는 이유를 이해하지 못 하겠지만 어쩌면 예제가 코드가 아닙니다 ... 어떤 경우에는 $infolocation 문자열이 포함되어 있으면 제공된 정규식이 일치해야합니다.

0

이 시도 : (< =? ")를 (=? (*.)")

나는 안드로이드 응용 프로그램에서 XML 응답에서 요소 태그를 제거하는 유사한 하나를 사용하십시오. 행운을 빌어 요.

+0

사실은 나에게 어떤 일을 반환하지 않습니다, 이것이 가장 좋은 것입니다 : (? <= "위치" ") (. *) (? =") 에 http : // regexr.com? 34bsi – digitalsteez