Уважаемые специалисты, помогите разобраться, пример упрощенный. Допустим есть строка
$txt="вне тега<p>внутри</p><code><b>жирный</b></code><a href='#'>Ссылка</a>";
Необходимо удалить все теги кроме содержимого в <code>
чтобы получилось во так:
$txt="вне тега внутри <b>жирный</b> Ссылка";
Пример упрощенный теги могут быть любые, пока получилось удалить абсолютно все теги вот так:
$txt=preg_replace("~(\<(/?[^\>]+)\>)~uis"," ",$txt);
echo($txt); //текст без тегов содержимое тега параграфа жирный шрифт Ссылка
Как добавить исключения для содержимого <code>
? Буду очень благодарен.
для вашего упрощенного примера можно строку разделить по </?code>
после чего у нечетных частей удалить тэги, а у четных оставить как было. Решение может быть вот такое, но надо еще расставить пробелы.
$txt = "вне тега<p>внутри</p><code><b>жирный</b></code><a href='#'>Ссылка</a>";
$data = preg_split("/(<\/?code>)/", $txt);
$result = "";
foreach($data as $k => $str){
$result .= ($k % 2) ? $str : strip_tags($str);
}
print_r($result);
Один из вариантов :
$str = 'вне <br>тега<hr /><p><b>внутри</b></p><code><b>жирный</b> <b>жирный</b></code><a href="#">Ссылка</a>';
echo parse_string($str);
function parse_string($str, $need = 'code') {
return preg_replace_callback(
'~<([a-z]+\d?)[^>]*>(.+?)</\1>~',
function($m)use($need){
return (strtolower($m[1]) != $need ? strip_tags($m[0]) : $m[2]);
},
preg_replace(['~<[a-z]{2,3}\s*/?>~', '~\s{2,}~'], ' ', $str)
);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
На сервере есть таблица 'Запись к врачу', там указан период времени, например, с 12 до 13Нужно отобразить на клиенте в виде время приема в виде...
Как сделать так, чтобы при использовании стандартного всплывающего bootstrap модального окна фон страницы не затемнялся, а наоборот становился...
Нужно разместить прямоугольные дивы вот так, я так понимаю лучше всего через :nth-child или через :nth-of-type, помогите пожалуйста с формулой которую...