2015-02-24 37 views
0

我想輸出一個數組(從文本文件)到一個textarea中,讓用戶改變它,然後將該數組保存迴文本文件。比較提交的textarea和初始值

<textarea name="text"><? echo(html_entity_decode(implode("\n", $array))) ?></textarea> 

在將數組存儲迴文本文件之前,我想確保實際上某些內容已被更改。

if ($_POST['text'] != html_entity_decode(implode("\n", $array))) { 
    // SAVE THE TEXT BACK TO THE FILE 
} 

但是,即使未提交更改,上述條件總是返回true

我在做什麼錯?提交時是否還有其他輸入已完成?

+0

你可能會發布更多的代碼嗎?也許在一個jsfiddle或只是在這裏。 – Djip 2015-02-24 16:20:12

回答

0

也許嘗試

if(strcmp(preg_replace("/\r|\n/", "", $_POST['text']), html_entity_decode(implode("\n", $array))) != 0){ 
    // SAVE THE TEXT 
} 

這變得有點難以閱讀,但本質上的preg_replace應該剝去換行符你的POST數據的比較它原來的陣列的目的。希望這對你有用!

+0

我不會逐行讀入文本到數組中,並將其與原始數組進行比較。我將發佈的輸入與內爆數組進行比較。所以我實際上比較了一個內爆陣列和一個內爆陣列。 – lastschrift 2015-02-24 16:31:06

+0

對不起,我錯過了,我編輯了我的答案。 strcmp可能是更好的解決方案,因爲它是用來比較字符串的。 – 2015-02-24 16:36:35

+0

謝謝!我不知道這個功能。但不幸的是,它**總是**返回'-14080'。 – lastschrift 2015-02-24 16:46:22