<div contenteditable="true">
<br />
<p>gwgawegwewgaweg</p><p>awe</p><p>gawe</p><p>we</p><p>awe</p><p>eg</p><br />
</div>
假設某一段文字是這樣
當我的表單提交後(透過PHP送到mysql)
能夠把該div區塊內第一個
和 最後一個
<br />
去掉呢
不一定要在submit後才去掉
如果能在key的過程中去掉也可以!
<div contenteditable="true">
<br />
<p>gwgawegwewgaweg</p><p>awe</p><p>gawe</p><p>we</p><p>awe</p><p>eg</p><br />
</div>
假設某一段文字是這樣
當我的表單提交後(透過PHP送到mysql)
能夠把該div區塊內第一個
和 最後一個
<br />
去掉呢
不一定要在submit後才去掉
如果能在key的過程中去掉也可以!
蛤,我理解的富文本编辑过程中去掉头和尾的换行
举个例子
document.querySelector('div[contenteditable]').innerHTML.trim().replace(/^(\<br \/>)|(\<br \/>)$/g, '')
建议可以再做个xss转义
如果未理解錯你的意思是字符串而不是元素的話
//其中$1,$2,$3,$4......分別爲分組匹配中分組中的內容
let str = "<div contenteditable='true'><br /><p>gwgawegwewgaweg</p><p>awe</p><p>gawe</p><p>we</p><p>awe</p><p>eg</p><br /></div>"
let reg = /^(.*?)(<br \/>)(.*)(<br \/>)(.*)$/g
let newStr = str.replace(reg,'$1$3$5')
console.log(newStr)
如果只取<div>
中字符串的話
其中字符串的內容可由innerHTML獲取
let str = "<br /><p>gwgawegwewgaweg</p><p>awe</p><p>gawe</p><p>we</p><p>awe</p><p>eg</p><br />"
let reg = /^(<br \/>)(.*)(<br \/>)$/g
let newStr = str.replace(reg,'$2')
console.log(newStr)
或者我其實是理解錯了,而你想刪除元素的話
//通過一些辦法獲取div
var elFa = document.getElementsByTagName('div')[0];
var els = elFa.getElementsByTagName('br');
elFa.removeChild(els[0]);
elFa.removeChild(els[els.length-1]);
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
咋一看,是个低级问题,原以为trim函数即可轻易去掉。结果发现不行。后来又想用str_replace,发现也不合适。
看来这个问题还是个好问题呢。
你需要一个trimArray()函数