Если я использую
$string = strip_tags($string, "<code>");
то теги (например, там есть div и p) внутри <code> тоже чистятся, а они мне нужны.
Что тут можно предпринять?
$string = strip_tags($string, "<code>");
Цитата (Valick @ 12.09.2019 - 13:11) |
mav1, как вариант порезать данные на "до <code>", "само <code>" и "после <code>. И почистить края не трогая середину. |
Цитата (mav1 @ 12.09.2019 - 16:02) |
Что тут можно предпринять? |
function strip_tags_except_code($html) {
$positions = [];
$html = preg_replace_callback('/<code>(.*)<\/code>/Us', function($match) use (&$positions) {
$id = uniqid();
$positions[$id] = $match[0];
return $id;
}, $html);
return str_replace(array_keys($positions), array_values($positions), strip_tags($html));
}
Цитата (brevis @ 12.09.2019 - 14:38) | ||
Можно такой велосипед: function strip_tags_except_code($html) { Может где-то нужно будет обработать напильником. |