2013-06-28 1 views
0

보기 : 값 [ '응답']preg_match_all 출력 구조를 개선하는 방법은 무엇입니까? 이 코드 조각에서

preg_match_all('/\[user\](.*?)\[\/user\]/' , $_POST['reply'] , $match); 

$ _POST는 "안녕하세요 [사용자] pooya [/ 사용자] 및 [사용자] 흐라 [/ 사용자]"하지만 $의 구조 match는 배열에있는 배열입니다! 예 :

preg_match_all의 출력을 정리하는 데 어떤 트릭이 있습니까? 예를 들어 배열의 요소로 태그 값을 가진 간단한 배열을?

+0

결과를 일관되게 들여 쓰기하여 코드를 크게 향상시킬 수 있습니다 (코드는 = 모양처럼 보입니다). – AD7six

답변

1

결과가 다차원 배열 인 것처럼 보입니다.이 배열에서 값을 그대로 끌어 올 수 있습니다. 배열이 올바르게 조용 구성 할 것 같지 않지만

echo $yourVariable[2] ['pooya']; 

: 같은 것을보십시오.

당신은 이런 식을 구성 할 수 있습니다 :

$pooya = array (

array(

"group"=>"pooya", 
"name"=>"zarah"), 

array(
"group"=>"Pooya", 
"name"=>"Zarah" 
) 

); 

echo $pooya[0] ['group']; 

echo $pooya[1] ['name']; 

확인 당신이 이걸 읽고 : http://php.net/manual/en/function.preg-match-all.php

preg_match_all (string $pattern , string $subject [, array &$matches [, int $flags =  PREG_PATTERN_ORDER [, int $offset = 0 ]]]) 

PREG_PATTERN_ORDER 주문 결과가 $ 그렇게 일치 [0] 는 전체 패턴 일치의 배열이며, $ matches 1은 괄호로 묶은 첫 번째 하위 항목과 일치하는 문자열 배열입니다. rn, 등등.

<?php 
preg_match_all("|<[^>]+>(.*)</[^>]+>|U", 
    "<b>example: </b><div align=left>this is a test</div>", 
    $out, PREG_PATTERN_ORDER); 
    echo $out[0][0] . ", " . $out[0][1] . "\n"; 
    echo $out[1][0] . ", " . $out[1][1] . "\n"; 
    ?> 
+0

난 그냥 사용자 태그에 갇혀있는 이름을 추출하고 그들을 통해 반복하고 그래서 preg_match_all 사용했지만 결과는 완전히 구조적이지 않습니다. – Pooya

+0

ok preg_match_all() 함수의 사용법을 이해하는 데 도움이되는 어쩌면 위의 링크를 제공했습니다. – Reign

+0

사용자 태그의 출처는 어디입니까? – Reign

관련 문제