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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部