Если пользователь вводит hey!
, вы хотите отобразить hey!
или hey!
? Если первый, бежать менее-thans и html-encode амперсанды (и, возможно, кавычки), и все в порядке. Модификация вашего кода для реализации второго варианта будет:
replaceAll("\\<[^>]*>","")
, но вы столкнетесь с проблемами, если пользователь введет что-то искаженное, например
.
Вы можете также проверьте JTidy , который будет анализировать «грязный» html-ввод и должен дать вам способ удалить теги, сохраняя текст.
Проблема с попыткой разделить html что у браузеров очень мягкие парсеры, более мягкие, чем любая библиотека, которую вы можете найти, поэтому, даже если вы сделаете все возможное, чтобы стричь все теги (используя метод замещения выше, DOM-библиотеку или JTidy), вы еще / g1] необходимо обязательно закодировать любые оставшиеся специальные символы HTML, чтобы обеспечить безопасность вывода.
Вы можете использовать map()
и возвращать новый массив со свойством DAY
и свойством split STREAMNAME
. Вы должны использовать Spread Operator , чтобы сделать массив плоским.
let arr = [
{ "DAY": 20190323,"NAME": "BTA130", "STREAMNAME": "Instant Purification, Pentatone A/B , This is a drill"},
{ "DAY": 20190324,"NAME": "BTA130", "STREAMNAME": "Instant Purification, Pentatone A/B , This is a drill"},
{ "DAY": 20190325,"NAME": "BTA130", "STREAMNAME": "Instant Purification, Pentatone A/B , This is a drill"},
{ "DAY": 20190326,"NAME": "BTA130", "STREAMNAME": "Instant Purification, Pentatone A/B , This is a drill"},
{ "DAY": 20190327,"NAME": "BTA130", "STREAMNAME": "Instant Purification, Pentatone A/B , This is a drill"},
]
let res = arr.map(({DAY,STREAMNAME})=>[DAY,...STREAMNAME.split(', ')])
console.log(res)