Я уже прочитал все статьи здесь, которые касаются подобной проблемы, но все еще не получают никакого решения. В моем случае я хочу обернуть каждое слово строки с пролетом. Слова содержат специальные символы, такие как «äüö ...»
Что я сейчас делаю:
var textWrap = text.replace(/\b([a-zA-Z0-9ßÄÖÜäöüÑñÉéÈèÁáÀàÂâŶĈĉĜĝŷÊêÔôÛûŴŵ-]+)\b/g, "<span>$1</span>");
Но что происходит, так это то, что если символ aüñ или какой-либо другой не-Ascii символ находится в конце или в начале, он также действует как граница. Находясь внутри слова, эти символы не действуют как граница.
'Ärmelkanal' becomes Ä<span>rmelkanal</span> but should be <span>Ärmelkanal</span>
'Käse'works fine... becomes <span>Käse</span>
'diré' becomes <span>dir</span>é but should be <span>diré</span>
Любой совет будет очень признателен. Мне нужно сделать это на стороне клиента :-( Кстати, я упоминал, что я ненавижу регулярные выражения; -)
Большое спасибо!