0

私はこのような出力を持っています:

Array
(
    [0] => stdClass Object
        (
            [post] => john Has site <a href='http://www.mysite.com/events/info/4240'>this is a test</a>
            [date_created] => 1341853220
        )

    [1] => stdClass Object
        (
            [post] => jane Has site <a href='http://www.mysite.com/events/info/1'>test venue</a>
            [date_created] => 1341849999
        )

    [2] => stdClass Object
        (
            [post] => james Has site <a href='http://www.mysite.com/events/info/4240'>this is a test</a>
            [date_created] => 1341680695
        )

このような結果を得る方法があるかどうか知りたいです:

Array
(
    [0] => stdClass Object
        (
            [post] => john Has site this is a test
            [number] => 4240
            [date_created] => 1341853220
        )

    [1] => stdClass Object
        (
            [post] => jane Has site test venue
            [number] => 1
            [date_created] => 1341849999
        )

    [2] => stdClass Object
        (
            [post] => james Has site this is a test
            [number] => 4240
            [date_created] => 1341680695
        )

私が欲しいのは、URLと一緒にhtmlタグを削除し、URLの最後に名前と番号を残して、後で保存して使用できるようにすることです。foreach内でstr_replaceを使用しようとしましたが、それを行う正しい方法が見つかりませんか、これを実現する別の方法がありますか?

ありがとう

4

2 に答える 2

2
  1. 正規表現を使用してhrefを一致させます<a href='([^\']+?)'>

  2. explode()区切り文字''で一致した文字列/

  3. 最後の要素であるを取得しnumberます。

  4. ストリップされたタグpostと新しい要素を使用して、オブジェクトの新しい配列を作成しますnumber

于 2012-07-09T18:05:56.317 に答える
0

Shubhamが述べたように、正規表現を使用する必要があります。

PHPのpreg_matchと次のパターンを使用して、必要なデータを投稿から取得できます。その後、新しいアレイを作成して、目的の結果を得ることができます。

#(.+)<a[^>]+?([0-9]+)'>(.+)</a>#

于 2012-07-09T18:55:58.327 に答える