Strict Standards: Resource ID#27 used as offset, casting to integer (27) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#29 used as offset, casting to integer (29) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#30 used as offset, casting to integer (30) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: замена в строке через регулярные выражения
ТвойWeb » WebMaster класс » JavaScript » замена в строке через регулярные выражения

Страниц (1): [1]
 

1. Davinchi - 17 Апреля, 2010 - 07:22:10 - перейти к сообщению
есть код (пока не работает)
CODE:

function bb_code(str){

var reg_in=[
"/\[b\](.*?)\[\/b\]/g",
"/\[i\](.*?)\[\/i\]/g"
];

var reg_out="<b>$1</b>";
return str.replace(reg_in[0], reg_out )
}


Подскажите что надо изменить чтобы функция
CODE:
str.replace
забирала регулярное выражение из массива?
2. Леголегс - 17 Апреля, 2010 - 08:55:38 - перейти к сообщению
В javascript есть отдельный тип данных - регулярное выражение. Т.е. их не нужно делать строками. Убери кавычки у элементов reg_in и должно заработать.
3. Davinchi - 18 Апреля, 2010 - 16:20:05 - перейти к сообщению
заработало спасибо
4. Леголегс - 18 Апреля, 2010 - 16:26:57 - перейти к сообщению
Только что проверил - всё работает:
CODE:
<html>
<body>
<script>
function bb_code(str){

var reg_in=[
/\[b\](.*?)\[\/b\]/g,
/\[i\](.*?)\[\/i\]/g
];

var reg_out="<b>$1</b>";
return str.replace(reg_in[0], reg_out )
}
document.write(bb_code("aaaaaa[b]bbbb[/b]aaa"));
</script>
</body>
</html>

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0278]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33