Показать сообщение отдельно
Старый 15.10.2008, 13:28
Bорон вне форума Посмотреть профиль Отправить личное сообщение для Bорон Посетить домашнюю страницу Bорон Найти все сообщения от Bорон
  № 1  
Ответить с цитированием
Bорон
 
Аватар для Bорон

Регистрация: Jun 2005
Адрес: Очень странное место
Сообщений: 329
Отправить сообщение для Bорон с помощью ICQ
По умолчанию Регулярные выражения

Приятного времени суток.
Помогите разобраться с регулярным выражением пожалуйста.

Есть текст:
Код:
some text1 and [link=http://google.com/]some_link[/link]
Я его пытаюсь переделать в ссылку:
Код:
var text = "some text1 and [link=http://google.com/]some_link[/link]";
var pattern:RegExp = new RegExp("[link=([^\]]+)\]([^\[]+)\[/link\]", "iu");
trace(str.replace(pattern, "<a href='\\1'>\\2}<\a>"));
И получаю вот такое чудо:
Код:
some text1 a<a href='\1'>\2}<\>d [link=http://google.com/]some_link[/link]
А почему? Такой код в php работает:
Код:
<?php
header('Content-Type:text/html; charset=utf-8');
$pattern = "|\[link=([^\]]+)\]([^\[]+)\[/link\]|iu";
$replacement = "<a href='\\1'>\\2<\a>";
$text = "some text1 and [link=http://google.com/]some_link[/link]";
echo preg_replace($pattern,$replacement,$text);
?>
Я так понимаю что я неразобрался как переменные из () отлавливать. но почему оно еще и часть ссылки оставляет?

Помогите пожалуйста.
__________________
Студия "Ночной народ" | http://nightfolk.net/