Обрезать URL
Необходимо оставить все, кроме qwerty. Там будет текст из переменной. К сожалению в регулярках мало чего понимаю.
На данный момент вот что имею:
1 2 3 4 5
var url = 'https://twitter.com/intent/tweet?text=qwerty' tw = 'text' // будем подставлять этот текст url = url.replace(/^(https?:\/\/([^/]+\/)).*/, '$1' + tw); console.log(url);
Заранее спасибо
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как получить часть url return url
как получить часть url return url Привет всем! Вопрос от человека далекого от javaScript. у меня.
Обрезать по пробелу
Допустим есть строка. var str = "Привет, Вы можете написать мне по адресам: http://adress1.com, ";.
Обрезать строку
есть url вида http://?.site.ru/? ? — возможен любой символ, и любое количество так вот.
обрезать текст
Как обрезать текст спомощью JS к примеру до 30 символов но когда на него навести курсор чтобы он .
Как на javascript обрезать ссылку?
В profilePhoto попадает такая запись https://vk.com/photo11792890_264692886 Как мне обрезать эту часть https://vk.com/ Пробовал делать replace но ничего у меня не получается, ребята, помогите найти решение.
Отслеживать
задан 17 ноя 2016 в 21:09
1,053 7 7 золотых знаков 18 18 серебряных знаков 38 38 бронзовых знаков
В profilePhoto не может попадать такая «запись». «Пробовал делать replace но . » — покажите, как пробовали.
– user176262
17 ноя 2016 в 21:14
Пробую сделать так profilePhoto = window.content.document.getElementById(‘profile_photo_link’); profilePhoto = profilePhoto.substr(15, profilePhoto.length); alert(profilePhoto); Но так и нечего не получается, но если поместить в переменную обичный текст то режет
17 ноя 2016 в 21:17
profilePhoto — это не строка, а DOM элемент. profilePhoto = profilePhoto.src.substr(15, profilePhoto.length); alert(profilePhoto);
Обрезать ссылку, что бы остался только домен
Доброго времени суток. Регулярные выражения — это просто высшая математика, буду рад помощи.
Задача: обрезать любую ссылку так, что бы оставалось имя домена
Ссылки могут быть вида:
Нужно сделать так, что бы оставалось site.ru
нужно получить значение между » http:// ; https:// ; http://www. ; https://www. « и первым символом « / «
Tempo
AutoIT Гуру
Сообщения 616 Репутация 205
#include example() Func example() Local $aUrls[] = ['http://site.ru/post/date/date/', _ 'https://www.site.ru/post/date/date/', _ 'https://site.ru/post/date/date/', _ 'http://www.site.ru'] _ArrayDisplay($aUrls, 'Before') For $i = 0 To UBound($aUrls) - 1 $aUrls[$i] = StringRegExpReplace($aUrls[$i], '(?im)https?://(?:www\.)?(.+?)(?:/.*|$)', '\1') Next _ArrayDisplay($aUrls, 'After') EndFunc ;==>example
Последнее редактирование: 10 Янв 2021
Soderling
Новичок
Сообщения 29 Репутация 0
Отлично работает! Но столкнулся с новой проблемой.
Почему так происходит и как исправить?
; Если получаю ссылку из строки браузера - не обрезается $oElement_url = _UIA_GetControlTypeElement($oParent, "UIA_EditControlTypeId", "Адресная строка и строка поиска") $URL = _UIA_ElementGetPropertyValue($oElement_url, "ValueValue") $URL = StringRegExpReplace($URL, '(?im)https?://(?:www\.)?(.+?)(?:/.*|$)', '\1') msgbox(64,'Сообщение', $URL) ; Если эту ссылку засунуть в переменную руками - работает $URL = "http://autoit-script.ru/threads/obrezat-ssylku-chto-by-ostalsja-tolko-domen.28082/#post-154387" $URL = StringRegExpReplace($URL, '(?im)https?://(?:www\.)?(.+?)(?:/.*|$)', '\1') msgbox(64,'Сообщение', $URL)
Tempo
AutoIT Гуру
Сообщения 616 Репутация 205
Из адресной строки вы в большинстве случаев получите ссылку без протокола
site.ru/post/date/date/
#include example() Func example() Local $aUrls[] = ['http://site.ru/post/date/date/', _ 'https://www.site.ru/post/date/date/', _ 'https://site.ru/post/date/date/', _ 'http://www.site.ru', _ 'www.site.ru/date/date/', _ 'site.ru/date/date/'] _ArrayDisplay($aUrls, 'Before') For $i = 0 To UBound($aUrls) - 1 $aUrls[$i] = StringRegExpReplace($aUrls[$i], '(?im)(. +?://)?(?:www\.)?([^/]*).*', '\1') Next _ArrayDisplay($aUrls, 'After') EndFunc ;==>example
Последнее редактирование: 10 Янв 2021
Soderling
Новичок
Сообщения 29 Репутация 0
Tempo благодарю!) то что нужно
CreatoR
Must AutoIt!
Команда форума
Администратор
Сообщения 8,670 Репутация 2,479
Задача: обрезать любую ссылку так, что бы оставалось имя домена
Тут нужно уточнять, т.к доменное имя по сути может состоять из нескольких уровней, поэтому и my.site.ru тоже будет считаться именем домена.
Но как я понял в данном случае нужно получить имя домена 2-ого уровня ( site.ru ).
Также нужно учитывать что ссылка может содержать разные протоколы, поэтому любая ссылка может выглядеть и как ftp://site.ru (что в принципе учтено в последнем примере).
#include example() Func example() Local $aUrls[] = _ [ _ 'http://site.ru/post/date/date/', _ 'https://www.site.ru/post/date/date/', _ 'https://site.ru/post/date/date/', _ 'http://www.site.ru', _ 'ftp://www.site.ru/date/date/', _ 'ftp://my.site.ru/date/date/', _ 'www.site.ru/date/date/', _ 'site.ru/date/date/' _ ] _ArrayDisplay($aUrls, 'Before') For $i = 0 To UBound($aUrls) - 1 $aUrls[$i] = StringRegExpReplace($aUrls[$i], '(?i)^(. +://)?.*?([^\.]+\.[^/\.]+)(/.*|$)', '\1') ;Или так ;$aUrls[$i] = StringRegExpReplace($aUrls[$i], '(?i)^.*?([^\.:/]*\.[^/\.]*)(?:/.*)?$', '\1') Next _ArrayDisplay($aUrls, 'After') EndFunc ;==>example
Последнее редактирование: 12 Янв 2021
Soderling
Новичок
Сообщения 29 Репутация 0
Честно говоря даже не подумал об этом)))
Сообщение автоматически объединено: 26 Янв 2021
Доброго времени суток! Опять проблема возникла
Задача: Удалить все ссылки из массива, которые содержат доменное имя
К примеру сайт google , ниже скрин, там видно, что не все ссылки удаляются
$hPage = ControlGetHandle("[RegexpTitle: - Google Chrome]", "", "Chrome_RenderWidgetHostHWND1") $oParent = _UIA_GetElementFromHandle($hPage) $oElement_url = _UIA_GetControlTypeElement($oParent, "UIA_EditControlTypeId", "Адресная строка и строка поиска") $URL = _UIA_ElementGetPropertyValue($oElement_url, "ValueValue") $URL = StringRegExpReplace($URL, '(?i)^(. +://)?.*?([^\.]+\.[^/\.]+)(/.*|$)', '\1') Local $All_link[0] $All = _UIA_FindAllElements($oParent, "ControlType", $UIA_HyperlinkControlTypeId) For $i = 1 To $All[0] _Arrayadd($All_link, _UIA_ElementGetPropertyValue($All[$i], "Value.Value")) Next _ArrayDisplay($All_link) While 1 $ind = _ArraySearch($All_link, $URL,0,0,0,1) If $ind <> -1 Then _ArrayDelete($All_link, $ind) Else exitloop EndIf Wend _ArrayDisplay($All_link)
Сообщение автоматически объединено: 27 Янв 2021
Извиняюсь, но проблема оказалась не в регулярке и тему наверно надо куда-нибудь перенести, но все же.
Вобщем решение нашел, думаю кривое, но работает ( кто понимает и его не затруднит, объясните пожалуйста почему стало работать)
$hPage = ControlGetHandle("[RegexpTitle: - Google Chrome]", "", "Chrome_RenderWidgetHostHWND1") ; 1 вариант ------ косяк кроется вот тут ; $hPage = WinWait(" - Google Chrome", "", 3) ; 2 вариант ---- если сделать так то работает. ;Почему первый случай не работает, а второй работает? $oParent = _UIA_GetElementFromHandle($hPage) $oElement_url = _UIA_GetControlTypeElement($oParent, "UIA_EditControlTypeId", "Адресная строка и строка поиска") $URL = _UIA_ElementGetPropertyValue($oElement_url, "ValueValue") $URL = StringRegExpReplace[/URL]($URL, '(?i)^(. +://)?.*?([^\.]+\.[^/\.]+)(/.*|$)', '\1') msgbox (64,'', $url )
Как обрезать строку через js чтобы остались нужная часть?
Нужно как-то обрезать ссылки вида https://www.instagram.com/p/BGrZOf5OTpH/?taken-by=.
Чтобы оставался только идентификатор, в примере это — BGrZOf5OTpH
Подскажите каким образом это можно сделать с помощью jQuery?
- Вопрос задан более трёх лет назад
- 2561 просмотр
Комментировать
Решения вопроса 2
var url = 'https://www.instagram.com/p/BGrZOf5OTpH/?taken-by=/. '; var // BGrZOf5OTpH
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Frontend developer at Yandex
'use strict'; const url = 'https://www.instagram.com/p/BGrZOf5OTpH/?taken-by=. '; const // => BGrZOf5OTpH
Ответ написан более трёх лет назад
Да, действительно, split проще, не нужно мудрить с регулярными выражениями. Единственное возможное преимущество моего варианта в том случае, если URL вводится руками и пользователь может опустить префикс «http://».
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- JavaScript
- +1 ещё
Выгрузка JS кода в php, но не просто?
- 1 подписчик
- 6 часов назад
- 54 просмотра