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();