- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Уважаемые, есть проблема с регуляркой
задача:
ссылки вида:
или вида:
заменить на:
т.е. http://api.site2.ru?v=site.ru
задача №: поддержить рускоязычные домены, но я сначало хочу решить задачу первую
это вариант не рабочий, потому что я пытался вставить функция внутрь регулярного выражения getd($1)
вариант рабочий:
НО в v=$1 подставляется только вс ссылка вместо домена
<a\s[^>]*href=["']([\w]+:\/\/([^\/"']+)\/?.*?)["'][^>]*>(.*?)<\/a>
$1 => http://site.ru/folder
$2 => site.ru
---------- Добавлено 26.04.2013 в 01:52 ----------
II
/<a\s[^>]*href=["']([\w]+:\/\/(.+?)(\/.*?)?)["'][^>]*>(.*?)<\/a>/
$1 => http://site.ru/folder
$2 => site.ru
$3 => /folder
Спасибо большое, работает!
и для кириллических доменов, тоже
подскажите пожалуйста
как написать исключение?
надо в тексте найти домены, НО надо игнорировать ссылки, т.е. домены с http:// надо игнорировать
я написал для замены:
но оно захватывает ссылки, тоже
а как написать исключение чтобы ссылки с http не захыватывало, т.е. чтобы ссылки не портило, а чтобы только домен, например такое чтобы взяло supersite.ru , а http:// игнорировало
ЗЫ: хочу сделать замену
/\b(?<!http:\/\/)([\w]+\.[\w]{2,6})\b/ig
выдается ошибка:
Ошибка: SyntaxError: invalid quantifier
Исходный код:
html = html.replace(/\b(?<!http://)([\w]+\.[\w]{2,6})\b/ig,
я пробовал так написать http:\/\/
и другие варианты
но все равно пишет: invalid quantifier
в документации я видел так ?!, но не так ?<!
Ну тогда
/(^|\s)([\w]+\.[\w]{2,6})\b/ig
Спасибо большое!
работает, я сколько много читал и смотрел про регулряки на js, но такое выражение в первые вижу (^|\s)
работает, я сколько много читал и смотрел про регулряки на js, но такое выражение в первые вижу
А что там такого невероятного? Группа - или начало строки ^ или пробел \s.
как тогда в итоге получилось так что http пропускается? :)
это работает правильно именно так как надо для замены, чтобы домены брались из текста, а ссылки игнорировались...
Там задается - или начало строки или пробел за которым следует метасимвол \w (алфавитно-цифровой шаблон) в котором http:// не попадает.