簡體   English   中英

PHP正則表達式幫助

[英]PHP regular expression help

我正在修復一些錯誤/正在向其他人建立的網站添加功能。 誰能告訴我以下正則表達式的作用? 我對正則表達式有點半熟,但是我還不清楚這些正試圖實現什么。

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

我懷疑是誰編碼的,這有點奇怪,但我不確定。

第三個找到一個美元符號,后跟一個數字,並在數字和美元符號之間插入四個反引號和四個波浪號。 第四個刪除美元和數字之間的這些反引號和波浪號。

我懷疑這兩者之間還會進行更多的數據處理,並希望沒有輸入會包含四個反引號,然后是四個波浪號...

  1. 用制表符(\\ t)替換轉義的\\ t
  2. 轉義雙反斜杠
  3. 查找一個美元符號,后跟一個數字,並在數字和美元符號之間插入四個反引號和四個波浪號。
  4. 刪除美元和數字之間的這些反引號和波浪號。

(感謝chx的3&4)

\\t轉換成實際的制表符

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

Escapes雙反斜杠,可以用addslhases();代替addslhases();

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

找到一個$后跟數字如$01 ,並用替換backtick X4 + ~ X4(預)

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

刪除$backtick~

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

顯然,最后一個程序員不了解一些事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM