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
        )

我想要的是消除 html 标记以及 url,只保留 url 末尾的名称和数字,以便我可以存储它并在以后使用它。我试图在 foreach 中使用 str_replace 但我找不到正确的方法来做到这一点,或者还有其他方法可以做到这一点吗?

谢谢

4

2 回答 2

2
  1. 使用 RegEx: 匹配 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 回答