有一个页面,该页面的大部分文本都是波斯语,具有特定的字体。 页面中有一些网站和电子邮件地址。一些电子邮件地址和网站包含数字。但由于字体,这些数字显示为波斯语而不是英语。 页面中的所有数字都必须是波斯语,但电子邮件和网站地址中的数字必须是英语。
例如我有:
<div>
شرکت شماره 2 در وب سایت
wwww.web2.com
info@web2.com
2web.com
2web2web.com
22344web.com
</div>
这样的事情会解决我的问题:
CSS:
div span{font-family:arial;direction:ltr;}
第一个 HTML 解决方案:
<div>
شرکت شماره 2 در وب سایت
<span>wwww.web2.com</span>
<span>info@web2.com</span>
<span>2web.com</span>
<span>2web2web.com</span>
<span>22344web.com</span>
</div>
第二个 HTML 解决方案:
<div>
شرکت شماره 2 در وب سایت
wwww.web<span>2</span>.com
info@web<span>2</span>.com
<span>2</span>web.com
<span>2</span>web<span>2</span>web.com
<span>22344</span>web.com
</div>
我希望“شرکت شماره 2 در وب ساوت”看起来像实现的字体 (B Yekan) 一样显示“2”,但其他数字显示为 Arial 字体。
页面中有很多杂乱无章的文本。我需要一个 jQuery 代码来构成我的解决方案之一。 关于此 jQuery 代码或更好的想法有什么建议吗?
最佳答案
你可以这样做(jsfiddle):
var regex = /\d+/g,
div = $('div'),
newHtml = div.html().replace(regex, function(match) {
return '<span>'+match+'</span>'
});
div.html(newHtml);
正则表达式将捕获所有出现的 1 个或多个数字字符。传递给 replace
方法的回调会将每个匹配的数字字符串包装在 span
元素中。
最后,新的 HTML 被设置为 div
元素的 HTML。
关于javascript - 查找所有以英文字母数字字符开头并以英文字符结尾的文本,并使用 jQuery 将它们放在 <span> 标签内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22530934/