Zheleznov
@Zheleznov

Как добавить исключение тегов use в str_replace $buffer WordPress?

Все привет
Есть код, который убирает самозакрывающиеся теги типа
<meta ... /> , <link ... /> , <br />
Т.е. слеш в конце убирает

function html5_slash_fixer( $buffer ) {
    return str_replace( ' />', '>', $buffer ); 
    return str_replace( '<br />', '<br>', $buffer );
}


Но вместе с тем, он убирает слеш в конце у элементов USE в SVG
<svg class="top_left"><use xlink:href="#top_left" /></svg>


По валидатору это не правильно
Подскажите пожалуйста как добавить исключение тегов в функцию?
  • Вопрос задан
  • 30 просмотров
Решения вопроса 1
v3shin
@v3shin
Веб-шаман
return preg_replace_callback('/<([\w\d-]+)([^>]*) \/>/', function ($match) {
    if ($match[1] === 'use') return $match[0];
    return "<$match[1]$match[2]>";
}, $buffer);

Но зачем? Чтобы понравилось валидатору?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы