我有一个contenteditable
元素,onblur
它将它的价值发布到服务器。
因为它是一个contenteditable
,在重复的空格条目上,它不是空格,而是添加
,所以生成的 HTML 可以是:
Testing title middle entry
当使用.text()
from 元素检索时,看起来像正常间隔(下划线标记空格):
Testing_title___middle___entry____
我将这个.text()
值发布到我的 PHP 后端。我在那里完成了保存过程。因为我需要修剪绳子,所以基本trim($title)
没有剪掉它。
而且,我似乎无法理解它。
我也试过这个如何将像“\u00ed”这样的Unicode转义序列解码为正确的UTF-8编码字符?,也没有帮助。
Chrome 网络检查器显示它通过此编码数据发送:
Testing+title+%C2%A0+middle+%C2%A0+entry+%C2%A0+%C2%A0
implode(', ', unpack('C*', $title))
返回:
84, 101, 115, 116, 105, 110, 103, // Testing
32, // space
116, 105, 116, 108, 101, // title
32,
194, 160, //
32,
109, 105, 100, 100, 108, 101, // middle
32,
194, 160,
32,
101, 110, 116, 114, 121, // entry
32,
194, 160,
32,
194, 160
$title
最终只是一个$_POST['title']
。
如何从该字符串中修剪所有空格?
最后,解决方案是:
$title = preg_replace('/\s/iu', ' ', $title)