如何使用 PHP str_replace 使用 HTML 标签替换 htmlentities

How to replace htmlentities using HTML Tags using PHP str_replace

我有如下内容。

我希望将 <pre></pre> 转换为 <p> </p>。但我无法实现它。下面是一个例子

$content = "<pre>This is a pre text &#13; I want to convert it to paragraphs ";

print_r(str_replace(array('<pre>', '</pre>', '&#13;'),array('<p>', '</p>', '<br/>'),htmlspecialchars($content)));

但我得到了原样的输出。谁能帮我解决。提前致谢

您正在更改 $content,然后再替换字符串。

$content = "<pre>This is a pre text &#13; I want to convert it to paragraphs ";

print_r(htmlspecialchars($content));

// returns    &lt;pre&gt;This is a pre text &amp;#13; I want to convert it to paragraphs 

None 其中匹配您的 str_replace

删除 htmlspecialchars(),您将获得所需的输出。

$content = "<pre>This is a pre text &#13; I want to convert it to paragraphs ";

print_r(str_replace(array('<pre>', '</pre>', '&#13;'),array('<p>', '</p>', '<br/>'),$content));

//returns    <p>This is a pre text <br/> I want to convert it to paragraphs 

您可以在不删除 htmlspecialchars() 函数的情况下通过执行以下操作获得所需的输出:

$content = "<pre>This is a pre text &#13; I want to convert it to paragraphs ";

print_r(str_replace(array('&lt;pre&gt;', '&lt;/pre&gt;', '&amp;#13;'),array('<p>', '</p>', '<br/>'),htmlspecialchars($content)));

您的代码应该像这样才能获得预期的输出。

<?php
    $content = "<pre>This is a pre text </pre> &#13; I want to convert it to paragraphs";
    print_r(htmlspecialchars(str_replace(array('<pre>', '</pre>', '&#13;'),array('<p>', '</p>', '<br/>'),$content)));
?>