Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Замена содержимого href в теге <a>

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Foster
Отправлено: 31 Июля, 2013 - 02:03:58
Post Id


Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Здраствуйте. Мне нужно произвести замену url'ов в тегах <a> в текста, при этом конец ссылки должен совпадать с неким шаблоном.
Например имеем html-текст:
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div align="center">
  3.   <a href="http://www.site.com/01/img.jpg" target=_blank>
  4.   <a href="http://www.site.com/01/img2.jpg" target=_blank>
  5. </div>
  6.  


и имеем шаблон
$nameq = ''img2.jpg;
По этому шаблону я пытаюсь заменить содержимое второй ссылки следующим регулярным выражением:
PHP:
скопировать код в буфер обмена
  1. $new_content = preg_replace("/<a href=\".+".$nameq."([^\"]*)\".*>/siU", "<a href=\"$url\">", $content);

Замена работает, но исчезает весь текст который находится перед второй ссылкой.

Помогите пожалуйста разобраться.
 
 Top
Саныч
Отправлено: 31 Июля, 2013 - 02:24:26
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




CODE (php):
скопировать код в буфер обмена
  1. $new_content = preg_replace('#(<a.*?href=")(?:[^"]+' . str_replace('.', '\.', $nameq) . ')(".*?>)#siU', '$1' . $url . '$3', $content);
Не проверял...


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
Foster
Отправлено: 31 Июля, 2013 - 02:34:17
Post Id


Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Решение найдено. Всем спасибо.

(Отредактировано автором: 31 Июля, 2013 - 04:05:07)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB