Существует страница, на которой большинство текстов страницы находятся на персидском языке с определенным шрифтом. На странице есть некоторые веб-сайты и адреса электронной почты. Некоторые адреса электронной почты и веб-сайт содержат цифры. Но из-за шрифта эти цифры отображаются персидскими, а не английскими. Все цифры на странице должны быть персидскими, но цифры в адресах электронной почты и веб-сайтов должны быть английскими.
Например, у меня есть:
<div>
شرکت شماره 2 در وب سایت
wwww.web2.com
[email protected]
2web.com
2web2web.com
22344web.com
</div>
Что-то вроде этого решит мою проблему:
CSS:
div span{font-family:arial;direction:ltr;}
первое решение для HTML:
<div>
شرکت شماره 2 در وب سایت
<span>wwww.web2.com</span>
<span>[email protected]</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", как "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 задается как HTML-элемент div
.