Closed J76F closed 6 months ago
zie nog fout gaan op:
<div><br><div>
--> extra regel in svg tov html & editor
vraag als bij plakken <div><br></div>
--> <br>
nodig is.
moeten lege regels ook verwijderd worden; kan ook trim op de geplakte tekst doen ipv editor aanpassen
uitzoeken losse <br>
aanpassen naar <div>
etc. volgens quasar editor manier
tekst + tekst
abc<div>abc</div>
tekst + lege regel
abc<div><br></div>
tekst + lege regel + lege regel
abc<div><br></div><div><br></div>
tekst + lege regel + tekst
abc<div><br></div><div>abc</div>
tekst + lege regel + tekst + text
abc<div><br></div><div>abc</div><div>abc</div>
met opmaak kunnen hier ook nog <i>
etc tussen staan
// eerst zonder opmaak
text = text
.replace(/<br><br>/g, '<div><br></div><br>') // stap 1: als dubbel <br> --> 1e tussen div zetten
.replace(/(<br>)(?!<\/div>)(.*)(?=<div>)/g, '<div>$2</div>') // stap 2: <br> zonder </div> tot volgende <div>, waarschijnlijk tekt --> tekst tussen div zetten
.replace(/(<br>)(?!<\/div>)(?!(.*)(?=<div>))(.*)$/g, '<div>$3</div>') // stap 3: <br> zonder </div> en geen <div> meer --> tekst tussen div zetten
.replace(/<div><\/div>/g, '') // 3e stap --> lege div's verwijderen
start: [basis in q-editor editor fout]
abc def
ghi
abc<div>def</div><div><br></div><div>ghi</div>
enter na regel 1 > fout <div><br><div>
+ </div>
op einde ipv <div><br></div><div>
abc<div><br><div>def</div><div><br></div><div>ghi</div></div>
enter voor regel 2 > goed
abc<div><br></div><div>def</div><div><br></div><div>ghi</div>
Het gaat alleen bij de eerste fout; wanneer je eerste tekstblok ook in div zet is er geen probleem meer en gaat hij goed door; doe je dit niet en je geeft een paar keer een nieuwe regel en verwijderd hem daarna dan kan je zo een rommeltje hierdoor krijgen blijkt.
Bij leeg: <div><br></div>
plaatsen en daarna invullen lijkt te werken.
1 lijn zonder <div>
door in div's te zetten waarschijnlijk ook.
Alleen bij leeg halen haal je dit ook weg.
Oplossing plakken: Verschillende regeleinden eerst vervangen voor plakken in q-editor. CR LF / LF / CR / VT - > LF
text.replace(/(\r*\n)|(\r(?!\n))|(\v)/g, '\n')
Oplossing div genesteld en 1e niet in div blok:
<div>
zonder </div>
er voor </div>
toevoegen, behalve 1e bij start</div>
door een enkele= text
.replace(/(?<=<\/div>(?!<\/*div>)|^(?!<\/*div>))(.+?)(?=(?<!<\/*div>)<div>|(?<!<\/*div>)$)/g, '<div>$1</div>')
.replace(/(?<!(<\/div>)|(^))<div>/g, '</div><div>')
.replace(/(<\/div>){2,}/g, '</div>')
.replace(/<div><\/div>/g, '')