Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулярное выражение (https://javascript.ru/forum/misc/33964-regulyarnoe-vyrazhenie.html)

wollk 15.12.2012 23:58

Регулярное выражение
 
Есть такая вот регулярка в PHP, которая заменяет sqrt() на корень

\\\sqrt\((.*)\) /uiU",' &radic;<span style="border-top:#999 solid 1px;">$1</span>


Подскажите, как сделать такую же, чтобы она обрабатывала <body></body> после загрузки текста ?

Deff 16.12.2012 00:30

Цитата:

Сообщение от wollk (Сообщение 221575)
Есть такая вот регулярка в PHP, которая заменяет sqrt() на корень

\\\sqrt\((.*)\) /uiU",' &radic;<span style="border-top:#999 solid 1px;">$1</span>


Подскажите, как сделать такую же, чтобы она обрабатывала <body></body> после загрузки текста ?

Продемонстрируйте реальную строку в body

wollk 16.12.2012 01:52

Та любые символы но, когда встретится \sqrt(dddd) - то надо заменить на &radic<span style="border-top:1px #000 solid">dddd</span>

к примеру

<body>
Корень из числа 66 = \sqrt(66) = не целое число ;)
</body>

рони 16.12.2012 11:24

wollk,
Вариант...
<!DOCTYPE HTML>
<html>
<head>
 <meta charset="utf-8" />
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script type="text/javascript">
   $.fn.replaceText=function(e,f,g){return this.each(function(){var a=this.firstChild,c,b,d=[];if(a){do 3===a.nodeType&&(c=a.nodeValue,b=c.replace(e,f),b!==c&&(!g&&/</.test(b)?($(a).before(b),d.push(a)):a.nodeValue=b));while(a=a.nextSibling)}d.length&&$(d).remove()})};
   $(window).load(function () {
   $("body").replaceText( /\\sqrt\(([^)]+)\)/gi, '√<span style="border-top:1px #000 solid">$1</span>' );
    });
  </script>
<title></title>
</head>
<body>
 Корень из числа 66 = \sqrt(66) = не целое число ;)

</body>
</html>

Deff 16.12.2012 14:52

wollk, можно пользовать скрипт от рони,

Замечание ток одно - при выводе PHP выражением на страницу:
"Корень из числа 66 = \sqrt(66) = не целое число ;)"

нужно использовать обертку этого выражения div c ID или классом, в противном случае при парсе всего контента body могут нарушаться события, привязанные к тегам(если они есть на странице


Часовой пояс GMT +3, время: 04:52.