Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP str_替换斜杠和引号_Php - Fatal编程技术网

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("\\\'", '&#39' ,$data);
    $data = str_replace("'", "&#39" ,$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)
这是最全面的一行:)