[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вырезание ссылок
ADiel
Мне нужно вырезать все ссылки из названий песен на сайте.
Могут быть следующие строки:
www.site.com
(www.site.com)
site.com
site.com.ua
(site.com)
(http://site.com/)
(http://site.com/page)

И прочие. С site.com сложнее всего, т.к. в названии песни может встречаться такая конструкция.

Может быть у кого то есть готовый набор регулярок?



Спустя 10 минут, 23 секунды (1.03.2012 - 14:55) Winston написал(а):
Ну так дай несколько ссылок на основе которых нужно составить регекс.

Спустя 24 минуты, 45 секунд (1.03.2012 - 15:19) walerus написал(а):
ADiel

Примерно так выглядит твой вопрос )))

Мне нужно вырезать все кости из конечностей человека.
Могут быть следующие кости:
* лопатка
* ключица
* плечевая кость
* локтевая кость
* лучевая кость

И прочие. С "пяточной костью" сложнее всего, т.к. кто его знает где ее искать и как она выглядит.

Может быть у кого то есть готовый набор инструментов/игрушек ?

cool.gif

Спустя 2 минуты, 13 секунд (1.03.2012 - 15:22) Игорь_Vasinsky написал(а):
$string = "такая вот строка http://www.site.com в которой есть урл www.site.com и ещё site.com  и даже этот site.com.ru и на кирилице тоже должен москва.рф";

echo preg_match_all("#([http\://]*[www\.]*[а-яa-z\-_\.0-9]+\.[com|ru|org|net|рф]*[\.com|ru|org|net|рф]*){1,}#ius", $string, $matches);


зоны тока сам допиши все

так же я предусмотрел комбинации из 2х зон (хотя их там то com.ru и что то ещё)

Array
(
[0] => Array
(
[0] => http://www.site.com
[1] => www.site.com
[2] => site.com
[3] => site.com.ru
[4] => москва.рф
)

[1] => Array
(
[0] => http://www.site.com
[1] => www.site.com
[2] => site.com
[3] => site.com.ru
[4] => москва.рф
)

)

Спустя 2 минуты, 37 секунд (1.03.2012 - 15:24) Игорь_Vasinsky написал(а):
Цитата
С site.com сложнее всего, т.к. в названии песни может встречаться такая конструкция.


ему кирдец по любому этому домену. если тока название ставить в кавычки и в регулярке прописывать их отсутствие

Спустя 9 часов, 44 минуты, 33 секунды (2.03.2012 - 01:09) ADiel написал(а):
Игорь, огромное спасибо. Напиши свой рублевый кошелек мне в личку.

Спустя 18 минут, 39 секунд (2.03.2012 - 01:27) Winston написал(а):
Игорь_Vasinsky
Экстрасенс 80-level smile.gif

Спустя 2 часа, 53 минуты, 46 секунд (2.03.2012 - 04:21) Игорь_Vasinsky написал(а):
laugh.gif

Спустя 1 час, 21 минута, 38 секунд (2.03.2012 - 05:43) Игорь_Vasinsky написал(а):
а про скобки то не видел.... v.1.1

$string = "такая вот строка http://www.site.com в которой есть урл www.site.com и ещё site.com  и "
."даже этот site.com.ru и на кирилице тоже должен москва.рф ну и те которые в скобках вроде (www.mydomen.net)";

echo preg_match_all("#(\({0,1}[http\://]*[www\.]*[а-яa-z\-_\.0-9]+\.[com|ru|org|net|рф]*[\.com|ru|org|net|рф]*\){0,1}){1,}#ius", $string, $matches);

echo '<pre>' . print_r($matches, 1) . '</pre>';


Array
(
[0] => Array
(
[0] => http://www.site.com
[1] => www.site.com
[2] => site.com
[3] => site.com.ru
[4] => москва.рф
[5] => (www.mydomen.net)
)

[1] => Array
(
[0] => http://www.site.com
[1] => www.site.com
[2] => site.com
[3] => site.com.ru
[4] => москва.рф
[5] => (www.mydomen.net)
)

)

Спустя 4 часа, 25 минут, 16 секунд (2.03.2012 - 10:08) Winston написал(а):
Цитата (Игорь_Vasinsky @ 2.03.2012 - 04:43)
{0,1}

Вообще то можно сократить немного
{0,1} -> ?
{1,} -> +
Цитата (Игорь_Vasinsky @ 2.03.2012 - 04:43)
[http\://]*[www\.]*

Лучше вынести в группировку, а то запись ww.w или w..w тоже будут доступны
Потому [www\.]* -> (www\.)*

Кто вообще перечисление делает в символьном классе? biggrin.gif У тебя будет найдена даже cтpока com| или com|ru, потому так нужно(com|ru|org|net|рф)*

Спустя 3 минуты, 28 секунд (2.03.2012 - 10:12) Игорь_Vasinsky написал(а):
Цитата
Кто вообще перечисление делает в символьном классе?

самоучки.

Спустя 59 секунд (2.03.2012 - 10:13) Winston написал(а):
Цитата (Игорь_Vasinsky @ 2.03.2012 - 09:12)
самоучки.

И где же ты учился так писать? smile.gif

Спустя 1 час, 3 минуты, 54 секунды (2.03.2012 - 11:16) Игорь_Vasinsky написал(а):
здесь.. чесн слово.

я вообще простым способом состовляю паттерн

я беру строку которую буду искать и меняю её на символы, симв классы и т.д.

я не совсем привык к +*? путаю - поэтому квантификаторы.

когда нить запомню.


_____________
Ищи меня тут (ilyaplot)
Быстрый ответ:

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