Ich arbeite an einem HTML-Tool, um alte lateinische Sprache zu studieren. Es ist eine Übung, bei den Schüler auf einig Wort klicken haben, , in dem es ein div
mit einem Stück lateinisch:Regulärer Ausdruck, um Wörter mit akzentuierten Zeichen aus dem Lateinischen zu trennen
<div class="clickable">
Cum a Romanis copiis vincĭtur măr, Gallia terra fera est.
Regionis incŏlae terram non colunt, autem sagittis feras necant et postea eas vorant.
Etiam a_femĭnis vita agrestis agĭtur,
miseras vestes induunt et cum familiā in parvis casis vivunt.
Vita secūra nimiaeque divitiae a Gallis contemnuntur.
Gallorum civitates acrĭter pugnant et ab inimicis copiis timentur.
Galli densis silvis defenduntur, tamen Roma feram Galliam capit.
</div>
In meinem Javascript wickeln wir alle einzelnen Worte in ein <span>
mit einem regulären Ausdruck, und ich wende einige Aktionen an.
var words = $('div.clickable');
words.html(function(index, oldHtml) {
var myText = oldHtml.replace(/\b(\w+?)\b/g, '<span class="word">$1</span>')
return myText;
}).click(function(event) {
if(!$(event.target).hasClass("word"))return;
alert($(event.target).text());
}
Das Problem ist, dass die Worte, die ĭ, ŏ, ā
enthalten, sind nicht richtig eingewickelt, sondern sind entsprechend diesen Zeichen aufgeteilt.
Wie kann ich diese Klasse von Wörtern richtig zuordnen?
Versuchen Sie es mit [XRegExp] (https: // cdnjs. cloudflare.com/ajax/libs/xregexp/2.0//xregexp-all-min.js) –
Siehe [diese Antwort] (http://stackoverflow.com/a/280762/160386) für weitere Vorschläge. –