JSFiddle - React, Tailwind, and code Playground
HTML
<div id="zone"></div>
<script>
var text = [
'mon text: salut _timmy_ comment ça va ?',
'mon text: salut _jean_paul_ comment ça va ?',
'mon text: salut _jean_philipe_de_grace_ comment ça va _avec_guillaume_ ?',
'mon text: salut _jean philipe de grace_ comment ça va _avec guillaume_ ?'
];
var valid = [
'mon text: salut <em>timmy</em> comment ça va ?',
'mon text: salut <em>jean_paul</em> comment ça va ?',
'mon text: salut <em>jean_philipe_de_grace</em> comment ça va <em>avec_guillaume</em> ?',
'mon text: salut <em>jean philipe de grace</em> comment ça va <em>avec guillaume</em> ?'
];
function checkOK()
{
for (var i = 0; i < valid.length; i++)
{
if ($('#tx' + i).text() != valid[i])
{
$('#tx' + i).css('background-color', 'red');
}
else
{
$('#tx' + i).css('background-color', 'green');
}
}
}
</script>
CSS
textarea
{
height: 50px;
width: 600px;
margin: 10px;
}
JavaScript
var pattern = /(\s)_((.(?!_ ))+[^_ ])_(\s)/gim; // PATTERN A MODIFIER POUR TOUT FAIRE FONCTIONNER
var replace = '$1<em>$2</em> ';
for (var i = 0; i < text.length; i++)
{
var value = ' ' + text[i] + ' ';
var regxpfied = value.replace(pattern, replace);
regxpfied = regxpfied.substr(1, regxpfied.length - 2);
$('#zone').append('<textarea id="tx' + i + '">' + regxpfied + '</textarea>');
}
checkOK();