Найти все тексты, начинающиеся с английских буквенно-цифровых символов и заканчивающиеся английскими символами, и поместить их в тег <span> с помощью jQuery

0

Существует страница, на которой большинство текстов страницы находятся на персидском языке с определенным шрифтом. На странице есть некоторые веб-сайты и адреса электронной почты. Некоторые адреса электронной почты и веб-сайт содержат цифры. Но из-за шрифта эти цифры отображаются персидскими, а не английскими. Все цифры на странице должны быть персидскими, но цифры в адресах электронной почты и веб-сайтов должны быть английскими.

Например, у меня есть:

<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 или о какой-либо лучшей идее?

1 ответ

0

Вы могли бы сделать что-то вроде этого (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.

  • 0
    Что является подходящим регулярным выражением?
  • 0
    @ Салман, я переделал свой ответ и добавил jsfiddle.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню