php remove html from string except <p> code example

Example 1: remove html tags php

// using strip_tags and str_replace for REMOVE all html TAGS in php
$text = '<p>Hello world.</p><!-- Comment --> <a href="https://learn-tech-tips.blogspot.com">Zidane</a>';
echo strip_tags($text);

//Hello world. Zidane

$short_description = strip_tags(str_replace("&nbsp;", " ", $short_description));
echo $short_description
  
  
// Allow <p> and <a>
echo strip_tags($text, '<p><a>');  

// <p>Hello world.</p><a href="https://learn-tech-tips.blogspot.com">Zidane</a>

Example 2: php remove html tags

<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
//Test paragraph. Other text

// Allow <p> and <a>
echo strip_tags($text, '<p><a>');
//<p>Test paragraph.</p> <a href="#fragment">Other text</a>
// as of PHP 7.4.0 the line above can be written as:
// echo strip_tags($text, ['p', 'a']);
?>

Tags:

Php Example