URL编码字符串中的PHP5语法错误,缺少正确的';\';性格

URL编码字符串中的PHP5语法错误,缺少正确的';\';性格,php,arrays,url,replace,Php,Arrays,Url,Replace,亲爱的朋友们,为了通过奇怪的翻译软件删除url中出现的一些非常疯狂的/%A/%E\%FD,我试图在url混乱中植入一些顺序: $search = array(' ', ',', '/', '\', 'amp%3B', '+', '--', '[', ']'); $replace = array('-', '' , '' , '', '' , '' , '-' , '' , '' ); 很好,直到我加上“\”很明显这是一个特殊的字符 Q1。第一

亲爱的朋友们,为了通过奇怪的翻译软件删除url中出现的一些非常疯狂的
/%A/%E\%FD
,我试图在url混乱中植入一些顺序:

$search   = array(' ',  ',',  '/',  '\',  'amp%3B',  '+',  '--',  '[',  ']');
$replace  = array('-',  '' ,  '' ,  '',   ''       ,  '' ,  '-' ,  '' ,  '' );
很好,直到我加上“\”很明显这是一个特殊的字符

Q1。第一个问题:错误
'\'
如何捕获单个(一个)
\

Q2。Neigher
amp%3B
&捕获和安培数?如何从url捕获

Q3。增强建议?我忘了让它真正永恒?
换句话说:url中是否有其他特殊字符可以破坏逻辑,比如“/”,它表示我很高兴发现并删除的文件夹结构,不允许它出现在url中。

Ans 1:使用
'\\'
而不是
'\'


“\”
是转义字符。因此需要使用
'\'

答案1:使用
'\\'
而不是
'\'


“\”
是转义字符。因此,需要使用
\\\'

Q1:通过使用另一个
\
来转义
\
,所以它将是
\\

Q1:通过使用另一个
\
来转义
\

尝试
\\\\\\\\\
——反斜杠是用于生成的转义字符,例如。
\n
换行、
\r
回车等等

许多语言在
''
单引号字符串中很少进行转义,但通常仍然支持

' embedded \' single quote'
所以他们也需要支持

'embedded \\ backslash'

请尝试使用
\\\'
获取
\
——反斜杠是一种转义字符,用于生成例如
\n
换行符、
\r
回车符等

许多语言在
''
单引号字符串中很少进行转义,但通常仍然支持

' embedded \' single quote'
所以他们也需要支持

'embedded \\ backslash'

使用
'\'
在代码中留言

使用
'\\'
在代码中留言

这对您有帮助吗

$string = '/var/www/vhosts/site.com/httpdocs/webpage-\xec\x8b\xa0\xeb\x85\x84-\xec\xb9\xb4\xeb\x93\x9c-\xed\x81\xac\xeb\xa6\xac\xec\x8a\xa4\xeb\xa7\x88\xec\x8a\xa4-\xec\xb9\xb4\xeb\x93    \x9c';

$search   = array(' ',  ',',  '/',  '\\',  'amp%3B',  '+',  '--',  '[',  ']');

$replace  = array('-',  '' ,  '' ,  '',   ''       ,  '' ,  '-' ,  '' ,  '' );

$count=0;
foreach($search as $sch)
{
    $string =  str_replace($sch, $replace[$count], $string);
    $count++;
}

echo $string;
这对你有帮助吗

$string = '/var/www/vhosts/site.com/httpdocs/webpage-\xec\x8b\xa0\xeb\x85\x84-\xec\xb9\xb4\xeb\x93\x9c-\xed\x81\xac\xeb\xa6\xac\xec\x8a\xa4\xeb\xa7\x88\xec\x8a\xa4-\xec\xb9\xb4\xeb\x93    \x9c';

$search   = array(' ',  ',',  '/',  '\\',  'amp%3B',  '+',  '--',  '[',  ']');

$replace  = array('-',  '' ,  '' ,  '',   ''       ,  '' ,  '-' ,  '' ,  '' );

$count=0;
foreach($search as $sch)
{
    $string =  str_replace($sch, $replace[$count], $string);
    $count++;
}

echo $string;

@出于对实验的热爱:
[Mon-Mar 28 08:25:17 2011][error][client 66.249.67.20]文件不存在:/var/www/vhosts/site.com/httpdocs/webpage-\xec\x8b\xa0\xeb\x85\x84-\xec\xb9\xb4\xeb\x93\x9c-\xed\x81\xac\xeb\xa6\xac\xec\xec\x8a\xeb\xa7\x88\xec\x8a\xa4\xec\xa4-\xec\xb4\xeb\x93\x9c
是转义字符。另一个失败的请求,我只想禁止这些类型的URL访问我的站点:
\xec\x9e\x90\xec\x8b\xa0\xec\x9d\x98-\xeb\x94\x94\xec\x9e\x90\xec\x9d\x88\xec\x9d\x84\xec\x95\x98\xeb\x8b\xa4
@Felix,谢谢,但我不明白你所说的“”是什么意思:请以anser的形式放置。最糟糕的是我投了1票@出于对实验的热爱:
[Mon-Mar 28 08:25:17 2011][error][client 66.249.67.20]文件不存在:/var/www/vhosts/site.com/httpdocs/webpage-\xec\x8b\xa0\xeb\x85\x84-\xec\xb9\xb4\xeb\x93\x9c-\xed\x81\xac\xeb\xa6\xac\xec\xec\x8a\xeb\xa7\x88\xec\x8a\xa4\xec\xa4-\xec\xb4\xeb\x93\x9c
是转义字符。另一个失败的请求,我只想禁止这些类型的URL访问我的站点:
\xec\x9e\x90\xec\x8b\xa0\xec\x9d\x98-\xeb\x94\x94\xec\x9e\x90\xec\x9d\x88\xec\x9d\x84\xec\x95\x98\xeb\x8b\xa4
@Felix,谢谢,但我不明白你所说的“”是什么意思:请以anser的形式放置。最糟糕的是我投了1票!谢谢@experimentX这正是我想要的。祝你度过愉快的一天!来自Hollandtanks@Experitex的日出问候,这正是我想要的。祝你度过愉快的一天!来自荷兰的日出向你致意