Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <span style="color:#cc0000" id="id">Текст</span>
- function cutTags( $str, $tags = [] ){
- $not_cut_tags = '';
- // Собираем массив тегов, которые вырехать не нужно
- foreach ($tags as $tag_name => $tag_attrs) {
- $not_cut_tags .= "<$tag_name>";
- }
- // Вырезаем теги, но осталяем те которые не нужно резать
- $str = strip_tags($str, $not_cut_tags);
- // Здесь мы убираем ненужные аттрибуты в оставшиййся строке
- foreach ($tags as $tag => $attrs) {
- if( is_array($attrs) ){
- // Если есть аттрибуты - делаем regex строку
- foreach ($attrs as $attribute) {
- $search_attrs .= "s" . "$attribute="([^"]+)"|s";
- }
- preg_match_all( '/'.$search_attrs.'/', $str, $m);
- $m = implode(' ', $m[0]);
- $r_from = "<{$tag}[^>]+>";
- $r_to = "<$tag $m>";
- }else{
- // Аттрибутов нет - просто заменяем тэг <tag ....> на <tag>
- $r_from = "<{$tag}[^>]+>";
- $r_to = "<$tag>";
- }
- $str = preg_replace("/".$r_from."/i", $r_to, $str);
- }
- return $str;
- }
- $str = '<p><span style="color:#2980b9"><a href="">Ссылка в спане</a></span></p>';
- $tags = [
- 'span' => ['style'],
- 'a' => ['href'],
- ];
- //Конфигурация
- // Устанавливаем разрешённые теги. (Все не разрешенные теги считаются запрещенными.)
- $jevix->cfgAllowTags(array('a', 'img', 'strong', 'ul', 'li', 'h1', 'h2'));
- // Устанавливаем разрешённые параметры тегов.
- $jevix->cfgAllowTagParams('a', array('title', 'href'));
- // Устанавливаем параметры тегов являющиеся обязяательными. Без них вырезает тег оставляя содержимое.
- $jevix->cfgSetTagParamsRequired('a', 'href');
- // Устанавливаем теги которые может содержать тег контейнер
- $jevix->cfgSetTagChilds('ul', 'li', true, false);
- // Устанавливаем атрибуты тегов, которые будут добавлятся автоматически
- $jevix->cfgSetTagParamsAutoAdd('a', array('rel' => 'nofollow'));
- //Парсинг
- $res = $jevix->parse('...тут...мог...бы...быть...ваш...текст...');
- ?>
Add Comment
Please, Sign In to add comment