2012-03-06 3 views
-2

나는 가져온 웹 페이지 내용이 말린 것을 사용하여 저장되는 변수 $ 결과를가집니다. 그 변수 나 웹 페이지를 검색하고 x라는 특정 문자열을 찾고 다음 5 줄을 새 변수에 저장하고 싶습니다.PHP에서 변수의 문자열을 가져 오는 중?

PHP로 할 수 있습니까? 사전에

감사합니다 .......

+2

'PHP로 할 수 있습니까? '가능합니다. – Sarfraz

+0

문자열 내에서 문자열을 검색하는 것은 쉽습니다 (예 : ['strpos()'] (http://uk3.php.net/manual/en/function.strpos.php). 그러나 여기에서 어려움은 어떻게합니까? '다음 5 행'을 정의하십시오. 그리고 '가져온 웹 페이지 콘텐츠'를 사용한다면 [DOM parser] (http://uk3.php.net/manual/en/book.dom.php)가 아마도 더 나은 내기 일 것입니다. – DaveRandom

+1

물론 가능합니다! 첫 번째 시도를 보여 주면 코드 개선 방법을 알려 드리겠습니다. – ghoti

답변

1

당신은 strpos와 위치를 찾기 위해 시도 할 수

$findme = 'x'; 
$pos = strpos($result, $findme); 

그리고 그 결과를 substr하십시오 (줄 바꿈에 대해서는 확실하지 않습니다).

또는 사용 정규 표현식

여기 보라 :

http://php.net/manual/en/function.strpos.php http://php.net/manual/en/function.substr.php http://php.net/manual/en/function.preg-match.php

+0

tonymarschall, 나는 노력했고 거의 끝냈다. 이제 주요 문제는 내가 가져올 수있는 문자열의 시작 지점을 가지고 있지만 가져올 문자열이 동적 길이를 갖지만 문자열 끝 뒤의 내용은 매번 동일하다는 것입니다. 그래서 그것을 가져 오려면 어떻게해야합니까? – kanwarpal

+0

문자열 끝이 정의 된 경우 문자열 끝의 startposition을 가져 오십시오. 그런 다음 strlength를 추가하고 substr과 함께 사용하십시오. – tonymarschall

1

당신이 strpos()을 사용할 수 있습니다 $ resulst에서 x의 위치를 ​​찾는다.

그 자리에서 시작하여 $ result ('\ n')에서 다음 5 줄의 줄 바꿈을 찾고 새 문자열을 만들 수 있습니다.

이렇게하면됩니다. 먼저 직접 시도하십시오. 문제가있는 경우 오류를 게시하면 Google에서 도와 드리겠습니다.

+0

요하네스, 나는 노력했고 거의 다 끝냈습니다. 이제 주요 문제는 내가 가져올 수있는 문자열의 시작 지점을 가지고 있지만 가져올 문자열이 동적 길이를 갖지만 문자열 끝 뒤의 내용은 매번 동일하다는 것입니다. 그래서 그것을 가져 오려면 어떻게해야합니까? – kanwarpal

0

질문이 변경되었으므로 고정 된 두 문자 (또는 문자열) 사이의 문자열을 찾고 있습니다.

<?php 
$webpage_content = "Here 
is 
some text... 
#000001 This is an Error code! 
It can have multiple lines! 
!content 
This is normal content"; 


$start_element = "#"; 
$end_element = "!content"; 
$start_pos = strpos($webpage_content, $start_element); 
$en_post = strpos($webpage_content, $end_element); 

$my_string = substr($webpage_content, $start_pos, $en_post-$start_pos); 
print $my_string; 
?> 

문제를 해결하려면 모든 정보를 준비해야합니다. 또한 링크를 읽으십시오. PHP 매뉴얼은 20 개 이상의 언어로 제공됩니다.

관련 문제