Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Как найти строки по шаблону, в которых нет определенной строки (preg_replace)? / 5 сообщений из 5, страница 1 из 1
18.11.2015, 15:42
    #39106826
pahhan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Как найти строки по шаблону, в которых нет определенной строки (preg_replace)?
всем привет
мне нужно найти в тексте все ссылки, в которых НЕТ моего домена mysite.com
вот мне помогли сделать чтобы регулярка работала для ссылок, в которых ЕСТЬ mysite.com. А как ее изменить, чтобы работала для ссылок, в которых НЕТ mysite.com

Код: php
1.
$ret = preg_replace("/href=[\"']http:\/\/(www\.)*(mysite\.com)/is"," rel=\"nofollow\" href=$1", $ret);



прочитал про отрицание ^, но никак не получается его прицепить...
...
Рейтинг: 0 / 0
19.11.2015, 10:41
    #39107448
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Как найти строки по шаблону, в которых нет определенной строки (preg_replace)?
Код: php
1.
$ret = preg_replace("/(href=[\"']http:\/\/(?!(www\.)*mysite\.com))/is"," rel=\"nofollow\" $1", $ret);
...
Рейтинг: 0 / 0
19.11.2015, 11:17
    #39107508
kunaksergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Как найти строки по шаблону, в которых нет определенной строки (preg_replace)?
SharuPoNemnogu,
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?php
$ret='<a href="http://google.com">One</a><br/> <a href="http://yandex.ru">Two</a><br/>
	  <a href="http://yandex.ru">Two</a><br/>
	  <a href="http://super.mysite.com">Three</a><br/>
	  <a href="http://sitess.com">Four</a><br/>
	  <a href="http://super.mysite.com">Five</a>';
$pattern='/href="([^"]+)(?<!mysite.com)"/';
$ret = preg_replace($pattern,'rel=nofollow href=$1',$ret);
echo $ret;
...
Рейтинг: 0 / 0
19.11.2015, 11:27
    #39107521
SharuPoNemnogu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Как найти строки по шаблону, в которых нет определенной строки (preg_replace)?
kunaksergey,

ну эт не мне надо)

<a href=" http://mysite.com?id=123">123</a>
<a href=" http://mysite.com/page/123">123</a>

+ кавычки обрезаются
...
Рейтинг: 0 / 0
19.11.2015, 12:14
    #39107590
kunaksergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP) Как найти строки по шаблону, в которых нет определенной строки (preg_replace)?
SharuPoNemnogukunaksergey,

ну эт не мне надо)

<a href=" http://mysite.com?id=123">123</a>
<a href=" http://mysite.com/page/123">123</a>

+ кавычки обрезаются
Попробовал твой шаблон.Он у меня срабатывает на все ссылки... может я где-то туплю.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Как найти строки по шаблону, в которых нет определенной строки (preg_replace)? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]