2012-03-06 9 views
-2

私は、取り出されたウェブページのコンテンツがカールを使って格納される変数$ resultを持っています。私はその変数やウェブページを検索し、特定の文字列を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

文字列の終わりが定義されている場合は、文字列の終わりの開始位置を取得してみてください。次にstrlengthを追加し、substrでこれを使用します。 – tonymarschall

1

をあなたにstrpos()を使用することができます$ resulstのxの位置を見つけてください。

その後、$ result( '\ n')で次の5行の改行を探して、新しい文字列を作成することができます。

これは動作するはずです。あなた自身で最初に試してみてください。問題が発生している場合は、エラーを投稿してください。

+0

ヨハネス、私は試して、私はそれでほぼ完了しています。今の主な問題は、私は取得する文字列の開始点を持っているが、フェッチされる文字列は動的な長さを持っているが、文字列の終わりの後の内容は毎回同じであるということです。だから私はそれを取るために何をすべきですか? – kanwarpal

0

あなたの質問が変わったと思うので、今では2つの固定文字(または文字列)の間の文字列を探しています。

<?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以上の言語で利用できます。

関連する問題