preg_replace () - удаление строки, содержащейся в HTML-тегах - PullRequest
2 голосов
/ 04 июля 2011

Я хочу сделать следующее:

У меня есть строка в базе данных, она сохраняется с тегами html при вставке туда, поэтому, например, у меня может быть следующая строка:

     <h2>Hello World</h2>
     <p>Cras mattis justo vitae diam sagittis ut porta eros aliquam. 
        Aenean vel nisi et nisl adipiscing blandit. 
        Donec tempor dictum risus a feugiat. 
        Nunc ac purus lectus. Morbi in suscipit ipsum. 
        Ut eu odio eu massa sollicitudin interdum. 
        Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
        Maecenas fermentum hendrerit imperdiet.</p>

Это строка, которая у меня может быть в базе данных, и я хочу отбросить часть <h2>.

Теперь, насколько мне известно, выполнение preg_replace () здесь будет работать, но какой шаблон строки мне нужно искать?

Большое спасибо.

Ответы [ 3 ]

1 голос
/ 04 июля 2011

Чтобы ответить на ваш вопрос, метод замены RegEx будет:

/<h2>(.+?)<\/h2>/

Однако, как отмечалось в комментариях, это не лучший метод! :)

1 голос
/ 26 марта 2013

Ницца Майкл Райт .

Другой способ решить эту проблему с помощью функции strip_tags () .

  $patern = '<p>';
  $str = '<h2>Hello World</h2><p>Cras mattis justo vitae diam .</p>';
  strip_tags($str,$patern);

Этот код генерирует следующий вывод

 'Hello World<p>Cras mattis justo vitae diam .</p>'

Здесь $ pattrn содержит список тегов, которые все еще остаются в ваших данных. strip_tags () удаляет все теги, кроме $ patern.

ссылка из руководства php

1 голос
/ 04 июля 2011

См. Раздел Удалить HTML-теги на связанном сайте. Э.Г.

@<h2[^>]*?>.*?</h2>@siu
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...