首页 > 解决方案 > 清理多行 Word 插入的中断

问题描述

当客户端从 Word 中粘贴内容时,我正在尝试清理我在 textarea 输入字段中获得的 Word 代码。除了两行代码块外,我的函数运行良好。例如

 <p><br />
</p>

我试过,让数组中的文本条目超过两行,但它不起作用。

    $badWordCodes2=array("<p></p>","<p>&nbsp;</p>","&nbsp;","<p ><br />
</p>");
$copy=str_replace($badWordCodes2,"",$copy);

我的完整功能是:

 function cleanWord($copy){
$badWordCodes=array("<o:p></o:p>","<o:p>&nbsp;</o:p>","<p class=\"MsoNormal\">&nbsp;</p>","class=\"MsoNormal\"","<o:p>&nbsp;</o:p>");
$copy=str_replace($badWordCodes,"",$copy);
$badWordCodes2=array("<p></p>","<p>&nbsp;</p>","&nbsp;","<p ><br />
</p>");
$copy=str_replace($badWordCodes2,"",$copy);
return $copy;
}

我考虑过将 substr_replace() 与 strpos 一起使用,但如果</p>不存在,它可能会清除大量文本。我需要一些可以删除整个两行代码的东西:

  <p><br />
</p>

没有别的了。

任何想法或指导将不胜感激。

标签: php

解决方案


推荐阅读