从递归数组中删除标签

时间:2016-10-17 08:21:23

标签: php arrays recursion strip-tags

我有以下递归数组作为输出

我已经访问过PHP: strip the tags off the value inside array_values()

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => <td>1</td>
                )

            [1] => Array
                (
                    [0] => <td align="left">Normal</td>
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [0] => <td>1</td>
                )

            [1] => Array
                (
                    [0] => <td align="left">Normal</td>
                )

        )
)

因此<td>1</td>将是1&amp; <td align="left">Normal</td>将为Normal

想要strip_tags我的递归数组。

2 个答案:

答案 0 :(得分:4)

您可以尝试使用此自定义递归strip_tags函数:

function recursiveStripTags($data) {
    foreach ($data as $key => $value) {
        if(is_array($value)) {
            $data[$key] = recursiveStripTags($value);
        }
        else {
            $data[$key] = strip_tags($value);
        }
    }
    return $data;
}

$data = recursiveStripTags($data);

答案 1 :(得分:0)

您可以使用preg_replace()

foreach ($arrs as $arr) {
    foreach ( $arr as $ar) {
        $ar[0] = preg_replace("/<[^<]*>/", "", $ar[0]);
    }
}