мне нужна функция, как это:PHP: Как вырезать теги в строке с определенными атрибутами, которые имеют определенные значения?
function strip_tags_with_attribute_values($string, $allowedTags, $allowedAttribute, $allowedValue) {
...
}
И он должен давать результаты, как это:
$str = '<p class="bla">hello1</p><p class='bla2'>hello2</p>';
echo strip_tags_with_attribute_values($str, '<p>', 'class', 'bla');
должны производить:
hello1<p class='bla2'>hello2</p>
Зачем мне это нужно? Пользователи копируют и вставляют текст из слова в FCKEditor (в Drupal). Мне нужно удалить все атрибуты стиля из тегов p и span.
Каковы ваши попытки сделать функцию? – ianace
Это будет очень сложно сделать. Даже если HTML абсолютно корректен, вам нужно извлечь список тегов/params/values, выбрать тот, который вы разрешите, и сшить все вместе. Вам также необходимо учитывать, что происходит, когда теги несовместимы/искажены/и т. Д. HTML слишком разнообразен и гибкий для надежного анализа (я предполагаю, что требуется надежность, так как это какой-то механизм безопасности?). Похоже, вы столкнулись с этой проблемой, столкнувшись с другой проблемой в другом месте (зачем вообще разрешать HTML?). Я подозреваю, что вы не найдете достойного, надежного и надежного решения для этого. – Basic
Пользователи копируют и вставляют текст из слова в FCKEditor (в Drupal). Мне нужно удалить все атрибуты стиля из тегов p и span. – coderama