I am having a problem trying to figure out this regex code. Let me show the code and then kinda explain from that.
<div class="test">
Nisl rhoncus mattis rhoncus urna neque viverra. Senectus et netus et
malesuada.
<button class="button">Feugiat nisl pretium fusce id velit.</button>
Turpis nunc eget lorem dolor sed viverra ipsum nunc. Gravida dictum
fusce ut placerat. Viverra maecenas accumsan lacus vel facilisis.
</div>
So I am trying to have the regex get between the > and < however ignore <button class="button">Feugiat nisl pretium fusce id velit.</button>
So the regex should parse this and return only these lines:
Nisl rhoncus mattis rhoncus urna neque viverra. Senectus et netus et malesuada.
Turpis nunc eget lorem dolor sed viverra ipsum nunc. Gravida dictum fusce ut placerat. Viverra maecenas accumsan lacus vel facilisis.
Also because it will be for parsing HTML I need it to ignore completely empty spaces. What I mean is that
</div>
</div>
Technically the space between is valid but I don't want to capture spaces unless there is text included and not only spaces. Imagine getting paragraphs between HTML. The idea is taking all text between divs and then wrapping it with a <p>
however certain cases like buttons shouldn't have a <p>
inside.
Im not sure if this is even possible. I hope this makes sense and any help would be appreciated!
Edit:
Using NodeJS
I am trying to parse from MD files (Github markdown files) to HTML with a middle step in between of custom syntax like this:
[flipcard]
[front color:blue]
Morbi tristique senectus et netus et malesuada. Interdum consectetur libero id faucibus nisl tincidunt. Purus faucibus ornare suspendisse sed nisi. Laoreet id donec ultrices tincidunt arcu. Elementum pulvinar etiam non quam lacus suspendisse faucibus.
[/front]
[back]
Nisl rhoncus mattis rhoncus urna neque viverra. Senectus et netus et malesuada.
[button]Feugiat nisl pretium fusce id velit.[/button] Turpis nunc eget lorem dolor sed viverra ipsum nunc. Gravida dictum fusce ut placerat. Viverra maecenas accumsan lacus vel facilisis. Nascetur ridiculus mus mauris vitae ultricies leo integer. Pellentesque pulvinar pellentesque habitant morbi tristique senectus et netus. Velit laoreet id donec ultrices.[/back]
[/flipcard]
It's almost like custom HTML but within markdown files and will then convert out to this using my custom parser and once my parser is done I run it through the NodeJS Marked parser to catch the remaining markdown elements. Then I get this:
<div class="flipcard">
<div class="front" style="color: blue">
Morbi tristique senectus et netus et malesuada. Interdum consectetur
libero id faucibus nisl tincidunt. Purus faucibus ornare suspendisse sed
nisi. Laoreet id donec ultrices tincidunt arcu. Elementum pulvinar etiam
non quam lacus suspendisse faucibus.
</div>
<div class="back">
Nisl rhoncus mattis rhoncus urna neque viverra. Senectus et netus et
malesuada.
<button class="button">Feugiat nisl pretium fusce id velit.</button>
Turpis nunc eget lorem dolor sed viverra ipsum nunc. Gravida dictum
fusce ut placerat. Viverra maecenas accumsan lacus vel facilisis.
Nascetur ridiculus mus mauris vitae ultricies leo integer. Pellentesque
pulvinar pellentesque habitant morbi tristique senectus et netus. Velit
laoreet id donec ultrices.
</div>
</div>
This is very close to what I need but I need the final output to be like this:
<div class="flipcard">
<div class="front" style="color: blue">
<p>
Morbi tristique senectus et netus et malesuada. Interdum consectetur
libero id faucibus nisl tincidunt. Purus faucibus ornare suspendisse
sed nisi. Laoreet id donec ultrices tincidunt arcu. Elementum pulvinar
etiam non quam lacus suspendisse faucibus.
</p>
</div>
<div class="back">
<p>
Nisl rhoncus mattis rhoncus urna neque viverra. Senectus et netus et
malesuada.
</p>
<button class="button">Feugiat nisl pretium fusce id velit.</button>
<p>
Turpis nunc eget lorem dolor sed viverra ipsum nunc. Gravida dictum
fusce ut placerat. Viverra maecenas accumsan lacus vel facilisis.
Nascetur ridiculus mus mauris vitae ultricies leo integer.
Pellentesque pulvinar pellentesque habitant morbi tristique senectus
et netus. Velit laoreet id donec ultrices.
</p>
</div>
</div>
`?
– Tomalak Nov 27 '20 at 07:54