PHP str_替换斜杠和引号
我从数据库中调用了我的数据,其中包含了PHP str_替换斜杠和引号,php,Php,我从数据库中调用了我的数据,其中包含了,,比如公司的,一些单词显示为公司的,尽管我有一个功能可以将所有这些特殊字符替换为正常字符,但像公司的这样的措辞仍然存在。有没有合适的方法来替换所有类型的特殊字符 function chrEncode($data) { $data = str_replace('’', ''' ,$data); $data = str_replace('é', 'é' ,$data); $data = str_replace('â
,
,比如公司的
,一些单词显示为公司的
,尽管我有一个功能可以将所有这些特殊字符替换为正常字符,但像公司的
这样的措辞仍然存在。有没有合适的方法来替换所有类型的特殊字符
function chrEncode($data) {
$data = str_replace('’', ''' ,$data);
$data = str_replace('é', 'é' ,$data);
$data = str_replace('â€', '-' ,$data);
$data = str_replace('-œ', '"' ,$data);
$data = str_replace('“', '"' ,$data);
$data = str_replace('ê', 'ê' ,$data);
$data = str_replace('ö', 'ö' ,$data);
$data = str_replace('…', '...' ,$data);
$data = str_replace('-¦', '...' ,$data);
$data = str_replace('–', '–' ,$data);
$data = str_replace('′s', '’' ,$data);
$data = str_replace('-²s', '’' ,$data);
$data = str_replace('‘', ''' ,$data);
$data = str_replace('-˜', ''' ,$data);
$data = str_replace('-“', '-' ,$data);
$data = str_replace('è', 'è' ,$data);
$data = str_replace('(', '(' ,$data);
$data = str_replace(')', ')' ,$data);
$data = str_replace('•', '•' ,$data);
$data = str_replace('-¢', '•' ,$data);
$data = str_replace('§', '•' ,$data);
$data = str_replace('®', '®' ,$data);
$data = str_replace('â„¢', '™' ,$data);
$data = str_replace('ñ', 'ñ' ,$data);
$data = str_replace('Å‘s', 'ő' ,$data);
$data = str_replace('\\\"', '"' ,$data);
$data = str_replace("\r", '<br>' ,$data);
$data = str_replace("\\r", '<br>' ,$data);
$data = str_replace("\n", '<br>' ,$data);
$data = str_replace("\\n", '<br>' ,$data);
$data = str_replace("\\\'", ''' ,$data);
$data = str_replace("'", "'" ,$data);
return $data;
}
函数chrEncode($data){
$data=str_替换('data€)™', '';“,$数据);
$data=str_replace('195;','é',$data);
$data=str_replace('–欧元'、'-'、$data);
$data=strœu replace('-œ','";',$data);
$data=strœu replace('–euroœ','";',$data);
$data=str_替换('195;ª','ê',$data);
$data=str_替换('195;¨,',$data);
$data=str_replace(“-”、“…”、$data);
$data=str_replace(“-”、“…”、$data);
$data=str_替换('–欧元'、'-'、$data);
$data=str_替换('s'、's'、$data);
$data=str_替换('-s','''',$data);
$data=str_replace('–戥','';',$data);
$data=str_replace(“-”、“';”,$data);
$data=str_replace(“-”,“-”,$data);
$data=str_替换('195;¨,'è',$data);
$data=str_替换('(','(',$data);
$data=str_替换('¼‰,'),$data);
$data=str_replace(“-”、“&bull;”、$data);
$data=str_替换(“-、”&bull;“,$data);
$data=str_替换('§ï§','&bull;',$data);
$data=str_replace('®','®;',$data);
$data=str_replace('–cf','&trade;',$data);
$data=str_替换(‘ñ’、‘ñ’、$data);
$data=str_替换('Å's','ő',$data);
$data=str\u replace(“\\\\”,““”,$data);
$data=str_replace(“\r”,“
”,$data);
$data=str_replace(“\\r”,“
”,$data);
$data=str_replace(“\n”,“
”,$data);
$data=str_replace(“\\n”,“
”,$data);
$data=STRU替换(“\\\'”、“&”39'、$data);
$data=str_替换(“'”、“'”、$data);
返回$data;
}
请告知,谢谢!当
插入
或更新
时,您可以使用mysql\u real\u escape\u string()
函数,并且您不必替换特殊字符,如,,等。这是您需要用额外反斜杠将其转义的特殊字符
str_replace("\\","", $data);
需要去掉斜线
$str = "Is your name O\'reilly?";
// Outputs: Is your name O'reilly?
echo stripslashes($str);
有一个内置的php函数
function clean($string) {
$string = str_replace('', '-', $string); // Replaces all spaces with hyphens.
return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
}
您可以使用preg_replace删除所有特殊字符,如下所示:
preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $String);
或仅适用于斜杠:
$str = 'h///e/ll\\o\\//\\';
str_replace(array('\\', '/'), '', $str); // output hello
另一个解决方案:-创建一个干净的函数
function clean($string) {
$string = str_replace('', '-', $string); // Replaces all spaces with hyphens.
return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
}
用法:-
echo clean('a|"bc!@£de^&$f g');
将输出:abcdef-g
查看@stripslashes:阅读以下内容:一旦您在数据库中转义了值,您基本上就完蛋了,您必须编写一个脚本来更正它们;但是要小心,因为应用stripslashes()
太多次也是不正确的。为什么不这样使用数组$data=str_replace(数组(val,val,val),数组(rep,rep,rep),$data)
这是最全面的一行:)