2011-10-03 3 views
2

동일한 PHP 파일에서 응답 사용

첫 번째 부분 : 서버가 일부 출력을 생성하는 하나의 단일 PHP 파일이 있습니다.

두 번째 파트 : 서버에서 생성 한 출력을 사용하여 정보를 제출합니다.

은 내가 무엇을했는지 :

파일 이름 : 오류

<?php 
//first part 
based on the information here server generates some output say: 
111 success: id:104.123/12345678 |value:10000045 

//second part 
i will be using the output generated in the first part. 
what i have done is something like this 
$server_said = file_get_contents('http://http://abc.php'); 
//abc.php is the file name 
if (preg_match_all('/104.123\:(\d*)/', $server_said, $matches)) 
//i want to display only 104.123/12345678 part 
{ 
$input = $matches[1]; 
} 
$xmlfile = '<?xml version="1.0" encoding="UTF-8"?> 
<identifier identifierType="id">'.$input.'</identifier>'; 

?> 

abc.php : 의도 한 결과가 $ 입력에 표시되지 않는, 그냥 $ 입력으로 머물고

내가 어떻게 할 수 있니?

위의 코드는 잘못되었을 수 있습니다. 정규 표현식이 실패

+0

을 정보를 제출 하시겠습니까? – 3emad

+0

@ 3emad .. ID로 인정하는 서버입니다.이 ID는 XML 파일에 포함되어야합니다 .. –

답변

1

는 올바른입니다

if (preg_match_all('/\d+\.\d+\/\d+/', $server_said, $matches)) 

뿐만 아니라, 당신의 출력 XML은, u는 다음과 무엇을 당신의 헤더를 변경해야 할 때 당신이하려고하는 경우

header('Content-type: text/xml'); 
+0

preg_match_all ('/ 104.123 \ d + \. \ d + \/\ d + /', $ server_said, $ 일치) ... 나는 행운을 빌어 이와 같은 것을 시도했다 ... 아무 값이 $ 입력에 표시되고 ... 내 접근 방식에 몇 가지 오류가 있다고 생각 ... –

+0

내가 가지고있는 .. –

+0

나는 가지고있다 이미 작성한 정규 표현식을 테스트 해 보았습니다. 주어진 예제에서 작동합니다. 실제 코드를보고 싶습니다. pastebin.com – 3emad