Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Закрыть ссылки от индексации...
 
 автор: Jaroslav   (18.06.2009 в 22:05)   письмо автору
 
 

Добрые люди!
Есть такая задачка..

Есть текст статьи, берется из базы данных:

*****************************
дык дык дык дык дык <a href="Жо">ту-ту-ту-ту-ту</a> дык дык дык дык дык <a href="Па">ту-ту-ту-ту-ту</a> дык дык дык дык дык
*****************************

как сделать так, чтобы после применения рег. выражения на стр. выводилось:


*****************************
дык дык дык дык дык <noindex><a href="Жо">ту-ту-ту-ту-ту</a></noindex> дык дык дык дык дык <noindex><a href="Па">ту-ту-ту-ту-ту</a></noindex> дык дык дык дык дык
*****************************

??? :)))

С уважением. Я.

  Ответить  
 
 автор: nikita2206   (19.06.2009 в 00:54)   письмо автору
 
   для: Jaroslav   (18.06.2009 в 22:05)
 

<?
$var 
'дык дык дык дык дык <noindex><a href="Жо">ту-ту-ту-ту-ту</a></noindex> дык дык дык дык дык <a href="Па">ту-ту-ту-ту-ту</a> дык дык дык дык дык';
$var preg_replace('#^(.*)(?!<noindex>)(<a.+?/a>)(.*)$#u''\1<noindex>\2</noindex>\3'$var);
echo 
$var;

  Ответить  
 
 автор: Jaroslav   (19.06.2009 в 04:39)   письмо автору
 
   для: nikita2206   (19.06.2009 в 00:54)
 

Извиняюсь...
Работает некорректно.

1)

$var = 'test <a href="http://www.test.ru">test</a> test <a href="http://www.test.ru">test</a> test <a href="http://www.test.ru">test</a> ';
$var = preg_replace('#^(.*)(?!<noindex>)(<a.+?/a>)(.*)$#u', '\1<noindex>\2</noindex>\3', $var);
echo $var;


Закрывает только последнюю ссылку!

2)

$var = 'тест <a href="http://www.test.ru">test</a> тест <a href="http://www.test.ru">тест</a> ';
$var = preg_replace('#^(.*)(?!<noindex>)(<a.+?/a>)(.*)$#u', '\1<noindex>\2</noindex>\3', $var);
echo $var;


Вообще не выводит текст, если есть русские символы!

Как это поправить? Подскажите, пожалуйста!

  Ответить  
 
 автор: AcidTrash(кафе)   (19.06.2009 в 09:40)
 
   для: Jaroslav   (19.06.2009 в 04:39)
 

$text = preg_replace('#(<a[^>]+>.+?</a>)#s', '<noindex>\\1</noindex>', $text);   

  Ответить  
 
 автор: Jaroslav   (19.06.2009 в 10:38)   письмо автору
 
   для: AcidTrash(кафе)   (19.06.2009 в 09:40)
 

Спасибо Вам огромное!
Помогли! Вот для поднятия настроения:

**********************
Встречаются две барменши.
- Ну как, - спрашивает одна из них, - в вашем ресторане чувствуется кризис ?
- Конечно!
- Как?
- В ресторан стали ходить одни голубые!
- ???
- Ну как же не голубые? Приходят без баб, заказывают шампанское без закуски, садятся друг напротив друга, и начинают хвастаться: "Ой, ты знаешь, у меня такая ж*па, такая ж*па!!!!"
**********************

:)

  Ответить  
 
 автор: nikita2206   (20.06.2009 в 00:54)   письмо автору
 
   для: Jaroslav   (19.06.2009 в 04:39)
 

-

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования