3
尋找一些基於正則表達式的幫助!已經搜索過該網站,但沒有找到任何適用於我的案例的解決方案。Strip img src從張貼的屏幕截圖數據php
我有一個向用戶顯示的窗體,其中一個文本區域是屏幕截圖的粘貼區域。目前這個屏幕截圖數據被輸入到數據庫中,但是由於這開始使數據庫變得非常大,我決定爲每個粘貼的屏幕截圖創建一個單獨的圖像,因爲這些數據比數據庫中佔用的空間要少。
我遇到的問題是從截圖中剝離img src標籤等,併成功將數據保存到可正確打開的圖像文件中。
粘貼的截圖數據插入到數據庫如下:
<img src="data:image/png;base64,_BASE_64_DATA_HERE"><br>
任何想法,發佈這個數據,就如何剝離不必要的物品,只是離開的base64數據時,創建一個保存的PNG圖像?
目前我有這個,這是不是很爲我工作,只是創建不能打開的圖像:
list($type, $data) = explode(';', $data);
list(, $data) = explode(',', $data);
$data = base64_decode($screenshot);
$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $screenshot));
file_put_contents('screenshots/screens.png', $data);
的$screenshot
是粘貼的數據。
感謝這個,條:它甚至可以降低到
[^"]*
)。我剛剛嘗試過使用它來創建PNG,但是創建的圖像仍然無法準確打開。這會如何實現? –我不知道你在$截圖中傳遞了什麼字符串,我不能告訴你如何重新創建圖像。如果正確的字符串數據保存在數據庫中,我認爲它不在當前問題的範圍內。 –
是$截圖的值,是保存到數據庫中的值。我想使用base64的數據來形成圖像,將其保存爲PNG格式,而不是保存在數據庫中。 –