Автор Тема: Регулярки.....  (Прочитано 3353 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Регулярки.....
« : 12 Мая 2002, 15:43:49 »
Вот есть такая строчка(это ей фрагмент):

<a href="current.phtml?d_id=652&p_id=310246">Новости</a>

Как мне её заменить на

<a href="current.phtml?d_id=652&p_id=310246"><font color="red">Новости</font></a>


Желателен пример
preg_replace и ereg_replace
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Регулярки.....
« Ответ #1 : 12 Мая 2002, 16:27:47 »

$str 
= \'<a href="current.phtml?d_id=652&p_id=310246">Новости</a>\';
$str = preg_replace("!(<a.+>)([^<]+)(</.+>)!iU", "\\\\\\1<font color=\'red\'>\\\\\\2</font>\\\\\\3", $str);
$str = eregi_replace("(<a.+>)([^<]+)(</.+>)", "\\\\\\1<font color=\'red\'>\\\\\\2</font>\\\\\\3", $str);
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Регулярки.....
« Ответ #2 : 12 Мая 2002, 16:38:53 »
GotZfild
Ты его проверял?

$str 
= \'<a href="current.phtml?d_id=652&p_id=310246">Новости</a>\';
$str1 = preg_replace("!(<a.+> )([^<]+)(</.+> )!iU", "\\1<font color=\'red\'>\\2</font>\\3", $str);
$str2 = eregi_replace("(<a.+> )([^<]+)(</.+> )", "\\1<font color=\'red\'>\\2</font>\\3", $str);
print "$str
\\n$str1
\\n$str2";

Результат:

<a href="current.phtml?d_id=652&p_id=310246">Новости</a>

<
a href="current.phtml?d_id=652&p_id=310246">Новости</a>

<
a href="current.phtml?d_id=652&p_id=310246">Новости</a>
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Регулярки.....
« Ответ #3 : 12 Мая 2002, 16:49:36 »
В общем успех есть:

$data
[$tmpi] = ereg_replace("<a (.+)>(.+)</a>""<a \\\\\\\\1><font color=reg>\\\\\\\\2</font></a>"$data[$tmpi]);


ЗЫ: GotZfild ты повнимательней будь и код проверяй
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн GotZfild

  • Универсал
  • Старожил
  • ****
  • Сообщений: 456
  • +0/-0
  • 2
    • Просмотр профиля
    • http://myphp.dem.ru
Регулярки.....
« Ответ #4 : 12 Мая 2002, 16:57:34 »
У меня-то работает, просто при постинге были вырезаны обратные слеши.
После трех дней без программирования жизнь становится бессмысленной.

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярки.....
« Ответ #5 : 12 Мая 2002, 20:06:34 »
можно это, кстати, оптимизировать.
например, используя str_replace
с уважением,
магистр белой магии.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Регулярки.....
« Ответ #6 : 13 Мая 2002, 10:56:59 »
Dm
Напиши чтоли.....
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярки.....
« Ответ #7 : 13 Мая 2002, 20:20:54 »
AlieN
ну ты сам подумай, к примеру,

$str 
str_replace(\'">\', \'"><font color="red">\', $str);
$str = str_replace(\'</\', \'</font></\', $str);

логично?
с уважением,
магистр белой магии.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Регулярки.....
« Ответ #8 : 14 Мая 2002, 10:00:39 »
Dm

Цитировать
Вот есть такая строчка(это ей фрагмент):


А теперь полный вид строчки

<div align="center"><font size="-1"><a href="current.phtml?d_id=652&p_id=310246"Новости </a></font></div>


Цитировать
логично?

К чему приведёт твоя логика?
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярки.....
« Ответ #9 : 15 Мая 2002, 01:28:22 »
AlieN
задачу/вопрос нужно не криво ставить ;)
с уважением,
магистр белой магии.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Регулярки.....
« Ответ #10 : 15 Мая 2002, 11:39:10 »
Dm
Читай внимательно вопрос там ясно сказано что это фрагмент...... => читать надо внимательно :)
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

  • Гость
А если будет так ?
« Ответ #11 : 16 Мая 2002, 12:57:41 »
.... .... ....
                                    ^^^^^
И поменять надо тут ????

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Регулярки.....
« Ответ #12 : 16 Мая 2002, 13:40:05 »
Unregistered
Уже все поняли что без регулярки не обойтись:)
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Регулярки.....
« Ответ #13 : 17 Мая 2002, 02:33:53 »
Цитировать
фрагмент

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

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28