php - 如何从数组中删除所有 html 标签?

标签 php html arrays regex string

php 中是否有一个函数可以对数组的所有条目执行正则表达式替换操作?
我有一个数组,其中包含许多带有文本的 html 标签,我想删除这些标签。
所以基本上我正在转换这个:

$m = [
"<div>first string </div>",
"<table>
   <tr>
     <td style='color:red'>
       second string
     </td>
   </tr>
 </table>",
"<a href='/'>
   <B>third string</B><br/>
 </a>",
];

为此:

$m = [
"first string",
"second string",
"third string"
]

(希望)匹配我想要删除的所有内容的正则表达式,如下所示:

/<.+>/sU

问题是我现在应该如何使用它? (我的数组实际上有 50 多个条目,每个条目可能有 10 个匹配项,所以使用 preg_replace 可能不是正确的方法,是吗?)

最佳答案

这里不需要正则表达式,只需使用 strip_tags()摆脱所有 html 标签,然后简单地 trim() 输出,例如

$newArray = array_map(function($v){
    return trim(strip_tags($v));
}, $m);

关于php - 如何从数组中删除所有 html 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32614584/

相关文章:

javascript - 我可以强制 PHP 内爆函数打印字符串值周围的引号吗?

php - 在 PHP 中接收 base64 编码的图像字符串并写入文件

html - 下拉菜单中的字段组

html - 需要帮助修改 bootstrap 导航栏中的 li 元素

javascript - 如何创建一个多维数组,其维度由创建数组的字符串的长度决定

arrays - 合并重叠区间的算法

php - 从外部服务器更新 php 应用程序

PHP 检查用户是否存在 PDO

html - 如何在边框 Angular 材上固定 Mat-label

javascript - 如何在 JavaScript 中将模式与数组进行匹配?