从PHP中的一个波斯语字符串中删除一些特殊的HTML

时间:2014-08-14 12:15:12

标签: php html

我有一个非常简单的问题,我也发现没有代码可用于我的字符串!

我已将一个简单文本转换为另一个带strip_tags函数的字符串。

现在我有了这个字符串:

<b>مرتبط با :</b><b> <span><span>داداشم موهاش فره نمیدونم چرا میخوابه دوبرابر میشه اصن یه چیز </span></span><span>
 </span><span><span>وحشتناک.دیشب رفتم دستشویی برگشتم پام گیر کرد به پتوش تو خواب </span></span><span>
 </span><span><span>وبیداری افتادم روش یه آن با اون موهاش یه داد کشید چنان ترسناک شد </span></span><span>
 </span><span><spa

如何删除不良字符,例如:</b><b&gt& ....

我该怎么做?

我的代码是波斯语,所以,我需要一个支持波斯语和UTF8的代码。

我也试过这段代码:

$des = preg_replace("/[^a-zA-Z0-9_.-\s]/", "", $des); 

但我没有波斯语,因为它适用于英语!

我该如何删除它们?

1 个答案:

答案 0 :(得分:7)

只需将HTML实体转换回htmlspecialchars_decode的字符,然后使用strip_tags将其删除:

$your_string = "<b>مرتبط با :</b><b> <span><span>داداشم موهاش فره نمیدونم چرا میخوابه دوبرابر میشه اصن یه چیز </span></span><span>
 </span><span><span>وحشتناک.دیشب رفتم دستشویی برگشتم پام گیر کرد به پتوش تو خواب </span></span><span>
 </span><span><span>وبیداری افتادم روش یه آن با اون موهاش یه داد کشید چنان ترسناک شد </span></span><span>
 </span><span><spa";
$result = strip_tags(htmlspecialchars_decode($your_string));
echo "<pre>" . $result . "</pre>";

结果:

  

مرتبطبا:داداشمموهاشفرهنمیدونمچرامیخوابهدوبرابرمیشهاصنیهچیز    وحشتناک.دیشبرفتمدستشوییبرگشتمپامگیرکردبهپتوشتوخواب    وبیداریافتادمروشیهآنبااونموهاشیهدادکشیدچنانترسناکشد

编辑:PHPFiddle链接:http://phpfiddle.org/main/code/g3hc-f8vr