删除php中具有特定内容的标记?

时间:2017-07-08 23:03:52

标签: php

这是我删除某些标签的功能:

private function removeTag($el, $tag) {
        $el = preg_replace("#\<".$tag."(.*)/".$tag.">#iUs", "", $el);
        return $el;
    }

如果标签包含单词,如何扩展此功能以删除或替换带有空字符串的标签:&#34; 忽略&#34;

1 个答案:

答案 0 :(得分:0)

使用preg_match在代码内容中搜索ignored

function removeTag($el, $tag) {
    return (preg_match('/^(.*)+>ignored<(.*)+>$/', $el) === false)
        ? preg_replace("#\<$tag(.*)/$tag>#iUs", "", $el) : $el
}

如果要将忽略的短语设置为参数,可以执行以下操作:

function removeTag($el, $tag, $ignored = false) {
    if (!$ignored) return $el;
    else return (preg_match("/^(.*)+>$ignored<(.*)+>$/", $el) === false)
        ? preg_replace("#\<$tag(.*)/$tag>#iUs", "", $el) : $el
}