[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с регуляркой
REZzANATOR
Всем привет.
Помогите с регуляркой, в свое время не разобрался с ними, а теперь столкнулся со срочной задачкой.

есть куча строк типа
ghb sf s <sd> <a class="user" href="http://site.com/users/1111/">Rezz</a> ...</span>

и
ghb sf s <sd> <a class="user" href="/users/1111/"><font color="#17619f">Rezz</font></a>


Необходимо вытаскивать ссылку на пользователя (href="http://site.com/users/1111/") и в этой ссылке менять id(1111) пользователя на имя(Rezz)
в итоге что бы получилось
ghb sf s <sd> <a class="user" href="/users/Rezz/"><font color="#17619f">Rezz</font></a>


Заранее благодарен.
ПС: Сам себе обещаю подтянуть регулярки.



Спустя 30 минут, 43 секунды (24.02.2010 - 15:43) TakoY написал(а):
preg_replace('#[http://.*?]*/users/1111/#i', '/users/Rezz/', $text)

Спустя 12 минут, 54 секунды (24.02.2010 - 15:56) REZzANATOR написал(а):
спасибо большое.

Я наверное не совсем правильно объяснился.

ghb sf s <sd> <a class="user" href="http://site.com/users/1111/">Rezz</a> 
...</span>


id юзера может быть любой(int).
и имя пользователя тоже любое.

Получается что сначала нада вытащить id , потом найти имя, и последней регуляркой подставить имя вместо id?


Спустя 34 минуты, 39 секунд (24.02.2010 - 16:31) TakoY написал(а):
preg_match_all('#[http://.*?]*/users/([0-9]{1,9})/#i', $text, $a);

for ($i=0; $i<count($a[1]); $i++)
{
// $a[1][$i] вот это id пользователя, узнаем $username
$text=preg_replace('#[http://.*?]*/users/('.$a[1][$i] .')/#i', '/users/'.$username.'/', $text));

}

примерно так, ну вообще можно код усовершенствовать массив $a с одинаковыми id под один ключ занести

Спустя 19 минут, 3 секунды (24.02.2010 - 16:50) REZzANATOR написал(а):
красива. спасибо
и последнее)) c $username

как сопоставить id с именем?когда в цикле пробегаем

/users/6998/ и /users/Rezz/

Оч стыдно, но не получается(

Спустя 1 минута, 29 секунд (24.02.2010 - 16:51) TakoY написал(а):
да, я исправил, сейча должно

Спустя 4 минуты, 14 секунд (24.02.2010 - 16:55) REZzANATOR написал(а):
не. опять меня я не так наверное объяснил.


в строке

ghb sf s <sd> <a class="user" href="/users/id1/"><font color="#17619f">ИМЯ1</font></a>ghb sf sыаыва
ыаыва <a class="user" href="/users/id2/"><font color="#17619f">ИМЯ2</font></a>фвфывыфв</span>

нужно чтобы вместо id1 ставилось ИМЯ1, а в id2 ставилось ИМЯ2


сейчас все отлично только как вытянуть из нужной строки $i ИМЯ ?


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.