我想将一个数组(从文本文件中)输出到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 :(得分:1)
也许试试
if(strcmp(preg_replace( "/\r|\n/", "", $_POST['text']), html_entity_decode(implode("\n", $array))) != 0){
// SAVE THE TEXT
}
这有点难以阅读,但基本上preg_replace应该从POST数据中删除换行符,以便将其与原始数组进行比较。希望这对你有用!