2011-06-27 9 views
-3

ここでは取引があります。私は最初にhtmlの<a><img /></a>タグを含む文字列を持っています。文字列はrss形式で返されます。私が必要とするのは、文字列を2つに分割することです。私は<a><img></a>と残りの文字列を他の変数に入れたいです。文字列をHTMLタグで区切って文字列をPHPで分割する

アルゴリズム:

  • チェック文字列が<a><img></a>
  • <a><img></a>を検索し、変数に保存で始まる場合。
  • 元の文字列から<a><img></a>を削除します。
  • 両方の変数を返します。

<a href=""><img src="" /></a> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Suspendisse eros. Nam augue. Morbi fermentum elit sit amet metus. Cras libero nulla, 
ultricies pulvinar, dapibus eu, tempus et, turpis. Donec urna ligula, commodo ac, tristique ut, egestas eu, justo. Fusce consectetuer vehicula magna. In turpis risus, malesuada et, commodo eget, ornare et, mauris. 

問題:

PHPでそれを行う方法を見つけ出すことはできません。私は正規表現と文字列全体の解析を含むこのサイトでいくつかのコードを見てきました。私は最初のマッチを持っているときに、正規表現関数内のどこに文字列のすべてを通過しない方法を見つけるしたい。 ループ内で使用しますですのでスピードに関してです。

+0

。 – cwallenpoole

+0

既にアルゴリズムをお持ちの場合、正確にはあなたの質問は何ですか? – NickAldwin

+0

@cwallenpolle:ok mister 'Vote Down'私を1つに導くことはできますか? – Sisir

答えて

4

あなたの入力文字列は常に、その後、この形式になりますことを保証することができる場合:我々は、あまりにも頻繁にこの質問を見てきました

$closetag = strpos($input, '</a>') + 4; // strpos will return position of `<`, so move up 4 chars 

if ($closetag !== FALSE) { 
    $first = substr($input, 0, $closetag); 
    $last = substr($input, $closetag); 
} else { 
    $first = $last = 'ERROR'; 
} 
+0

+1は* not *正規表現を使う必要はないかもしれません – NickAldwin

+0

こんにちは、ありがとう!良いソリューション私は正規表現を使用する必要はありません。もう一つ。文字列は常に ''で始まるとは限りません。 if文が必要な場合があります。 – Sisir

+0

+1ありがとう!終わらせる。 – Sisir

関連する問題