【发布时间】:2011-04-16 18:27:55
【问题描述】:
我已经在这里阅读了所有涉及类似问题的文章,但仍然没有任何解决方案有效。就我而言,我想用跨度包装字符串的每个单词。这些词包含特殊字符,例如“äüö...”
我现在正在做的是:
var textWrap = text.replace(/\b([a-zA-Z0-9ßÄÖÜäöüÑñÉéÈèÁáÀàÂâŶĈĉĜĝŷÊêÔôÛûŴŵ-]+)\b/g, "<span>$1</span>");
但是,如果 äüñ 或任何非 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>
任何建议将不胜感激。我需要在客户端这样做:-(顺便说一句,我提到我讨厌正则表达式;-)
非常感谢!
【问题讨论】:
标签: javascript regex utf-8