我有一大串數據無效的大型數據庫。是否有一個驗證PHP序列化數據的正則表達式?
數據由PHP序列化,並且在每種情況下都是反序列化,因爲其中一個值的字符串長度已關閉。
a:2:{s:7:"example";s:14:"This one works";s:11:"example_two";s:50:"This one is broken";}
我想將所有的序列化數據導出爲CSV格式,找到所有破損的字段並修復或刪除它們。
我認爲這可以用正則表達式來完成......對於每一行找到每一個s:[length],檢查下一個冒號後面的引用值是否與數字[length]相等。如果長度不匹配,則返回整行。
任何幫助將不勝感激。超級獎金,如果你可以提供一個mysql查詢返回具有損壞的序列化數據的行。
只是好奇這將如何發生,除非數據庫字段被更新爲刪除字符? – AbraCadaver
我不知道它是如何發生的......在幾乎所有情況下,數據都與至少2年內沒有使用該系統的用戶有關。除此之外我什麼都不知道。 –