php - 将 html 代码转换为纯文本时出现问题

标签 php string

我正在尝试将 HTML 代码转换为纯文本作为段落,HTML 代码将由 CKEDITOR 组成。然后我使用 strip_tags()html_entity_decode() 将字符串转换为普通段落。对于正常的句子,它工作得很好,但是当你的句子内容中某些符号是首字母缩略词,例如 ' 时,它不会被转换。我不知道如何理解这个问题。这是一个例子:

*输入CKEDITOR:

This is a notification, but don't worry about this

*PHP:

$message = '<p>This is a notification, but don&#39;t worry about this.</p>';
$message = strip_tags($message);
$message = html_entity_decode($message);
$message = preg_replace("/&#?[a-z0-9]+; | \r|\n/i","",$message);
echo $message;

*输出:

This is a notification, but don&#39;t worry about this.

最佳答案

默认情况下,html_entity_decode 仅转换双引号,而不转换单引号。使用以下命令来转换两者:

$message = html_entity_decode($message, ENT_QUOTES);

https://www.php.net/manual/en/function.html-entity-decode.php

关于php - 将 html 代码转换为纯文本时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57847856/

相关文章:

c - 为什么这个字符串反转 C 代码会导致段错误?

php - 将 PHP 文件中的 HTML 转换为 PDF 文件

javascript - 如何将 html 转换为可动态或数据表

php - 如何使用 php、mysql 和 html 在表单中包含下拉菜单和表格

string - 如何有效地将小数点左移N位?

java - String.format 返回使用逗号作为分隔符的 double 值

php - 对另一个表中日期之间的表中的数据求和

php - 删除列中的重复数据

android - 当我在我的 android 应用程序(计算器)上按下相等按钮时......它崩溃了

python - 删除扩展 Ascii 并保留文本