Festem
Постоялец
- Регистрация
- 4 Сен 2014
- Сообщения
- 97
- Реакции
- 27
- Автор темы
- #1
Пробую сделать регулярку, которая вытягивала бы ссылки определенных доменов , причем из разных конфигураций
Число доменов может постоянно меняться, поэтому регулярка должна быть удобной к автоматическому изменению доменов. Сделал вот такую:
Все бы ничего, но она захватывает лишние символы
По сути надо делать отсечения по таким символам - пробел, [, (, ", ' . Но что-то не выходит прикрутить к регулярке. Как это грамотнее сделать?
Для просмотра ссылки Войдиили Зарегистрируйся
Пробую вот так
НО все равно последний символ остается. Да и не грамотно это, по моему
Код:
<a href="_сылка_">...</a>
[url]_сылка_[/url]
[url=_сылка_]...[/URL]
PHP:
$string = "околоссылочный текст
[url]http://same.com/index/index/[/url]
<a href=\"http://site.ru/same_page.php\">wetrwetwert</a> [url=https://156.168.36.192/same_page.php]qqqqqqqqq[/url]
[URL]http://www.156.168.36.192/same_page.php#qwe[/URL]";
preg_match_all('#(http|https)://([^\s]*)(156.168.36.192|site.ru)([^\s]*)#', $string, $matches);
var_dump($matches);
Все бы ничего, но она захватывает лишние символы
HTML:
array(3) {
[0]=>
string(49) "http://site.ru/same_page.php">wetrwetwert</a>"
[1]=>
string(54) "https://156.168.36.192/same_page.php]qqqqqqqqq[/url]"
[2]=>
string(51) "http://www.156.168.36.192/same_page.php#qwe[/URL]"
}
По сути надо делать отсечения по таким символам - пробел, [, (, ", ' . Но что-то не выходит прикрутить к регулярке. Как это грамотнее сделать?
Для просмотра ссылки Войди
Пробую вот так
PHP:
(http|https)://([^\s]*)(156.168.36.192|site.ru)([^\s]*)(\[|\]|\>|\")
НО все равно последний символ остается. Да и не грамотно это, по моему
Последнее редактирование: