X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Поиск по регулярному выражению
andreykashops
andreykashops
Topic Starter сообщение 14.9.2014, 11:35; Ответить: andreykashops
Сообщение #1


WordPress is my Life..
******

Группа: Active User
Сообщений: 1427
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


Приветствую!

Суть проблемы в чем, есть текст:
Код
<div><span class="sc125">lden.</span> <span class="sc18">?&gt;</span></div>
<div>adfg ывап <a href="http://sdf.df">ывап </a>кеп цкерв ер
<div><span class="sc125">lden.</span> <span class="sc18">?&gt;</span></div>
<div>adfg ывап ывап кеп <a href="http://asdf.ty">цкерв </a>ер
<div><span class="sc125">lden.</span> <span class="sc18">?&gt;</span></div>
<div>adfg ывап ывап кеп цкерв ер
<div><span class="sc125">lden.</span> <span class="sc18">?&gt;</span></div>
<div>adfg ывап <a href="http://asdf.yu">ывап </a>кеп цк<a href="http://dsdf.er.sy">ер</a>в ер</div>
</div>

В нем нужно перебрать все ссылки и сделать замену по ним с условиями, для того использую функцию preg_replace_callback и регулярное выражение:
Код
#<a.+href="([^"]+)[^>]+>([^<]*)</a>#i

Проблема в том, что в строке, где две ссылки - регулярка находит не каждую отдельно, а вот так:
Код
Array
(
    [0] => <a href="http://asdf.yu">ывап </a>кеп цк<a href="http://dsdf.er.sy">ер</a>
    [1] => http://dsdf.er.sy
    [2] => ер
)

Вот и не пойму, как исправить эту "жадность"?



--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Tollun
Tollun
сообщение 14.9.2014, 11:49; Ответить: Tollun
Сообщение #2


Старожил
******

Группа: Active User
Сообщений: 1595
Регистрация: 1.10.2009
Из: Хабаровск
Поблагодарили: 394 раза
Репутация:   66  


Цитата(andreykashops @ 14.9.2014, 18:35) *
<a.+href

как вариант <a[^\>]*href


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Karlasan
Karlasan
сообщение 14.9.2014, 11:52; Ответить: Karlasan
Сообщение #3


Участник
***

Группа: User
Сообщений: 122
Регистрация: 25.4.2008
Поблагодарили: 63 раза
Репутация:   19  


попробуй так:
Код
#<a.+href="([^"]+)[^>]+>([^<]*)</a>#iU

U включает нежадный режим в регэкспах

Сообщение отредактировал Karlasan - 14.9.2014, 11:52


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
andreykashops
andreykashops
Topic Starter сообщение 14.9.2014, 11:54; Ответить: andreykashops
Сообщение #4


WordPress is my Life..
******

Группа: Active User
Сообщений: 1427
Регистрация: 21.7.2012
Из: Украины
Поблагодарили: 633 раза
Репутация:   139  


Tollun, точно, как-то упустил этот момент, спасибо!

Karlasan, отличный вариант, тоже работает, спасибо!


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Поиск страницы VK.COM по номеру мобильного телефона.
10 detalist 3206 4.12.2017, 12:28
автор: detalist
Открытая тема (нет новых ответов) Поиск. Скрипт а-ля pikabu.
1 Упс 761 20.11.2017, 8:19
автор: codename65
Открытая тема (нет новых ответов) Как реализовать поиск и избежать дублирование страниц?
4 rezoner 842 30.10.2017, 19:03
автор: rezoner
Открытая тема (нет новых ответов) Поиск исходящих ссылок
4 almmih1991 681 26.9.2017, 18:11
автор: Flymaster
Открытая тема (нет новых ответов) Поиск шаблона на вп
2 Arturs 472 26.9.2017, 16:02
автор: Arturs


 



RSS Текстовая версия Сейчас: 15.12.2017, 6:42
Дизайн