Jyxo\Html::removeInnerTags PHP Метод

removeInnerTags() публичный статический Метод

Expects valid HTML source
public static removeInnerTags ( string $html, string $tag ) : string
$html string HTML source code
$tag string Tags to be processed
Результат string
    public static function removeInnerTags(string $html, string $tag) : string
    {
        if (preg_match_all('~(?:<' . $tag . '>)|(?:</' . $tag . '>)|(?:<[^>]+>)|(?:[^<]+)~i', $html, $matches)) {
            $html = '';
            $level = 0;
            foreach ($matches[0] as $htmlPart) {
                if (0 === stripos($htmlPart, '<' . $tag)) {
                    $level++;
                    if (1 === $level) {
                        $html .= $htmlPart;
                    }
                } elseif (0 === stripos($htmlPart, '</' . $tag)) {
                    if (1 === $level) {
                        $html .= $htmlPart;
                    }
                    $level--;
                } else {
                    $html .= $htmlPart;
                }
            }
        }
        return $html;
    }