Удалить тег <p>из содержимого HTML - PullRequest
0 голосов
/ 15 февраля 2019

Я пытаюсь получить чистый абзац для отображения на веб-сайте, но из-за <p></p> в середине содержимого я не получаю ожидаемый результат.Я попробовал следующее, но ни один из них не сработал, и я все еще получаю <p></p> вокруг моего контента.

$story = "<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p><p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>";


 1. $story = strip_tags($story, '<p>');
 2. $story=str_ireplace('<p>','',$story);
 3. $story=str_ireplace('</p>','',$story);
 4. $story = preg_replace('/<p\b[^>]*>(.*?)<\/p>/i', '', $story);

Я что-то пропустил в своем коде?Мой ожидаемый результат будет

Ответ: Lorem Ipsum был стандартным фиктивным текстом в отрасли с 1500-х годов, когда неизвестный принтер взял камбуз шрифта и скремблировал его, чтобы сделать книгу типовых образцов.Лорем Ипсум был стандартным фиктивным текстом в отрасли с 1500-х годов, когда неизвестный принтер взял набор шрифтов и скремблировал его, чтобы сделать книгу типовых образцов.

Ответы [ 4 ]

0 голосов
/ 15 февраля 2019
$story = "<p>Lorem Ipsum has been the industry's standard dummy text ever since the 
    1500s, when an unknown printer took a galley of type and scrambled it to make a 
    type specimen book.</p><p>Lorem Ipsum has been the industry's standard dummy text 
    ever since the 1500s, when an unknown printer took a galley of type and scrambled 
    it to make a type specimen book.</p>";

$story = strip_tags($story) ;
echo $story;

есть встроенная функция, которая удаляет все HTML-теги в php.strip_tags ()

0 голосов
/ 15 февраля 2019

PHP имеет встроенные функции для удаления тегов HTML из строки.Лучше использовать strip_tags(), чем str_replace(), вот пример

     $story = "<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p><p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>";
;
        $a = strip_tags($story);
        $b = strip_tags($story, "<strong><em>"); // can also pass the tags that you don't want to remove
0 голосов
/ 15 февраля 2019

Использование функции str_ireplace().

$story = "<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p><p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>";

echo $text=str_ireplace('<p>','',$story);

Демонстрация: https://3v4l.org/W0Qeb

0 голосов
/ 15 февраля 2019

Попробуйте таким образом с str_replace()

<?php
$story = "<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p><p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>";
$result = str_replace(['<p>','</p>'],['',''],$story);
echo $result;
?>

DEMO : https://3v4l.org/nllPP

ИЛИ с strip_tags () для удаления всех тегов, кстати, с помощью этого метода вы можете указать allowable_tags

$result = strip_tags($story);
...