Count cesures
by toubia95
HTML
<p>
Coller un xml.
</p>
<div>
<textarea id="area1"></textarea>
</div>
<br>
<a href="#" id="convertir">Corriger césures (<span id="nbre">0</span>)</a>
<br>
<br>
<div>
<textarea id="area2"></textarea>
</div>
CSS
/*
- detection pages avec split
- correction affichage nombre de césures
*/
body {
text-align: center;
}
textarea {
width: 95%;
height: 150px;
}
#convertir {
margin: 100 0;
}
JavaScript
// https://regexr.com/
var myHtml2;
var myRegex = /(^|\s)([a-zàéèêëîïôöûüù]+)(-<lb\/>\n)([a-zàéèêëîïôöûüù]+)/gi;
if (localStorage.getItem("area1")) {
myHtml2 = localStorage.getItem("area1");
var l2 = (myHtml2) ? myHtml2.match(myRegex).length : 0;
$("#area1").val(myHtml2);
$("#nbre").text(l2);
}
$('#area1').bind('input propertychange', function() {
var myHtml3 = $("#area1").val();
localStorage.setItem("area1", myHtml3);
var l3 = (myHtml3) ? myHtml3.match(myRegex).length : 0;
$("#nbre").text(l3);
});
$("#convertir").click(function() {
$("#area2").val('');
var myHtml = $("#area1").val();
localStorage.setItem("area1", myHtml);
var nombre = (myHtml) ? myHtml.match(myRegex).length : 0;
if (confirm(nombre + " césures trouvées !\n\nCommencer la correction ?")) {
var myHtmlB = myHtml.split('<pb n="');
var i = 0;
var j = 0;
var myMatch1;
var lB = myHtmlB.length;
while (i < lB) {
myMatch1 = (myHtmlB[i].match(/^\d+/igm)) ? myHtmlB[i].match(/^\d+/igm).toString() : '';
if (myHtmlB[i].match(myRegex)) {
myHtmlB[i] = myHtmlB[i].replace(myRegex, function(str, p1, p2, p3, p4) {
var r = confirm("Page " + myMatch1 + "\n\n" + str + "\n\nENLEVER LA CÉSURE ?");
if (r === true) {
j++;
return p1 + p2 + p4;
} else {
return str;
}
});
}
i++;
}
alert("Fin de la correction !\n\n" + j + " césures corrigées !");
var myHtmlC = myHtmlB.join('<pb n="');
$("#area2").val(myHtmlC);
}
});