【问题标题】:PHP Cleaning special characters from stringPHP从字符串中清除特殊字符
【发布时间】:2021-06-10 22:26:33
【问题描述】:

所以我做了这个 scraper,它从多个站点返回字符串。我想检查字符串是否匹配,所以我使用 php 清理字符串并检查。但是,& 和其他特殊字符以两种方式出现,一种为&,另一种为&。如何删除每种类型。

preg_replace("/[^a-zA-Z0-9]+/", "", $string);

我已经有了,但是没有去掉特殊字符。

谢谢。

【问题讨论】:

  • 您是否要将 &amp 显示为 &?或 & 作为 &amp?
  • 一个显示为 &另一个为 &
  • 看我的回答。你必须使用html_entity_decode

标签: php html string parsing


【解决方案1】:

试试这个

function removeSpecialChar($string) {
    $string = str_replace('', '-', $string); // Replaces all spaces with hyphens.
    return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
}

echo removeSpecialChar(html_entity_decode('&khawer&')); //will output khawer

【讨论】:

  • 谢谢,解决了。 html_entity_decode 是我正在寻找的。再次感谢。
【解决方案2】:

我认为您正在寻找 htmlspecialchars() 函数。

通过它运行你的字符串,以及 strip_tags() 和 strip_slashes() 应该清理你的字符串。

htmlspecialchars(strip_tags(strip_slashes($string)));

【讨论】:

  • 当我运行这个 &变成 &
猜你喜欢
  • 2011-08-29
  • 1970-01-01
  • 1970-01-01
  • 2011-04-11
  • 2016-01-23
相关资源
最近更新 更多