PHP正则表达式帮助

时间:2011-01-04 02:04:38

标签: php regex

我正在努力修复一些错误/添加功能到其他人建立的网站。任何人都可以告诉我以下的正则表达式做什么?我对正则表达式很熟悉,但我对这些想要完成的事情并不是最模糊的想法。

$qsReplace = preg_replace('/\\\t/', "\t", $qsReplace);
$qsReplace = preg_replace('/\\\/', '\\\\\\', $qsReplace);
$qsReplace = preg_replace('/\$([0-9])/','\$````~~~~$1', $qsReplace);
$queryString = preg_replace('/\$\`\`\`\`\~\~\~\~([0-9])/','\$$1', $queryString);

我怀疑那个编码的人有点奇怪,但我不确定。

3 个答案:

答案 0 :(得分:2)

第三个找到一个美元符号后跟一个数字,并在数字和美元符号之间插入四个反引号和四个波浪号。第四个删除了这些反叛,并在一美元和数字之间倾斜。

我怀疑两者之间会有更多的数据杂乱,希望没有任何输入可以包含四个反对,然后是四个倾斜......

答案 1 :(得分:1)

  1. 将转义的\ t替换为 标签(\ t)
  2. 逃脱双倍 反斜杠
  3. 找到一个美元符号后跟一个数字,并在数字和美元符号之间插入四个反引号和四个波浪号。
  4. 删除这些反引号并在一美元和数字之间倾斜。
  5. (感谢chx 3& 4)

答案 2 :(得分:1)

\t转换为实际标签

  • $qsReplace = preg_replace('/\\\t/', "\t", $qsReplace);

转义双反斜杠,可以用addslhases();

替换
  • $qsReplace = preg_replace('/\\\/', '\\\\\\', $qsReplace);

找到一个$后跟一个数字,例如$01,并替换为backtick x4 + ~ x4(pre)

  • $qsReplace = preg_replace('/\$([0-9])/','\$````~~~~$1', $qsReplace);

删除$backtick~

  • $queryString = preg_replace('/\$\`\`\`\`\~\~\~\~([0-9])/','\$$1', $queryString);

显然,最后一位程序员并不了解一些事情。