它沒有這麼多IBM-850的事,這只是一個代碼頁填寫超越ASCII第8位給予的表示到你會落得個字節。
這裏的關鍵是我S的翻轉所有位bitwise not operator ~
- 0變爲1,1變爲0。如果你傾倒~"/^(.*?[aeiouy]+)/i"
到一個文件,並打開其設置爲850,它會看起來像:
ðíÎÐı└ñ×ÜûÉèåóÈÍðû
而且同樣~"$1 $1 $0"
的樣子:
█╬▀█╬▀█¤
所以你看到,這是領導。
在PHP一個未定義的常量被假定爲具有一個字符串值匹配它的名字。例如:
var_dump(foo);
輸出string(3) "foo"
(以及通知「未定義恆富的使用 - 假設‘富’」,如果通知書上。)
當兩個亂碼字符串上述被放在一個PHP腳本沒有他們視爲與假設他們的價值觀,以及他們的名字未定義的常量報價。
現在在前面加上每個~
其位翻轉回來,你已經得到了原正則表達式和替換字符串:
preg_filter("/^(.*?[aeiouy]+)/i","$1 $1 $0",$argn)
只有那些參數有其位翻轉,因爲他們是唯一的字符串文字,這就是這個技巧所適用的。對於每一個字符串它削去一對引號,以換取承擔只有一個波浪。
位翻轉必須這樣做,因爲無論是對自己的原始字符串的不帶引號就已經登陸解析錯誤。
聰明的方式,淨賺兩個字節。