php删除双引号,php – 如何从字符串中删除单引号和双引号
当我通过此函数运行包含双引号的短语时,它用quot替换引号.
我想完全删除它们(也是单引号).我怎样才能改变这个功能呢?
function string_sanitize($s) {
$result = preg_replace("/[^a-zA-Z0-9]+/", "", $s);
return $result;
}
更新:
Example 1: This is 'the' first example
returns: Thisis030the039firstexample
Errors: Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '0' in C
Example 2: This is my "second" example
returns: Thisismyquotsecondquotexample
Errors: Invalid express in Xpath
解决方法:
看起来您的原始字符串中包含“(& quot;)的HTML字符”,因此当您尝试对其进行清理时,只需删除&和;,保留字符串的其余部分.
– -编辑 – –
删除非字母数字字符的最简单方法可能是使用html_entity_decode解码HTML字符,然后通过正则表达式运行它.因为,在这种情况下,你不会得到任何需要重新编码的东西,你不需要再做htmlentities,但是值得记住你有HTML数据并且你现在有原始的未编码数据.
例如:
function string_sanitize($s) {
$result = preg_replace("/[^a-zA-Z0-9]+/", "", html_entity_decode($s, ENT_QUOTES));
return $result;
}
请注意,ENT_QUOTES将函数标记为“…转换双引号和单引号”.
标签:php,preg-replace
来源: https://codeday.me/bug/20190930/1836955.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
