Goal
Remplacer les hôtes et les chemins (emplacements), mais gardez les noms de fichiers (ils sont inchangés).Regex - get protocole URL, hôte, le chemin, mais pas filename - PCRE
URL sans sous-domaine - ne fonctionne pas
Cela fonctionne pour l'hôte (domaines) qui sont présentent au moins un sous-domaine (par exemple « www.somedomain.com »), mais ne parvient pas à obtenir le chemin avec juste le domaine + TLD (par exemple 'somedomain.com')
(http[s]?:\/\/([^:\/\s]+)(\/\w+)*\/)+
Dans le code HTML suivant
junk before tag <img src="https://somedomain.com/wp-content/uploads/2017/10/someimage.jpg" alt="" />Random text after
Un moteur PCRE ne capturera:
https://somedomain.com/
URL avec subdomain - Travaux
Dans l'extrait HTML suivant (domaine a un sous-domaine)
junk before tag <img src="https://www.somedomain.com/wp-content/uploads/2017/10/someimage.jpg" alt="" />Random text after
Un moteur PCRE capture l'URL complète (sauf pour le fichier):
https://www.somedomain.com/wp-content/uploads/2017/10/
Question
Comment puis-je régler la regex pour capturer le protocole complet, domaine et le chemin (mais pas le nom de fichier) pour img src=""
URL qui ont des sous-domaines ainsi que les sans sous-domaines?
Ainsi, dans le 2ème exemple, vous voulez revenir 'www.somedomain.com'? Je ne suis pas vraiment clair sur ce qu'est exactement la sortie désirée. – CAustin
Dans le 1er exemple, je veux 'https: // somedomain/wp-content/uploads/2017/10 /', mais j'obtiens seulement 'https: // somedomain /'. Le 2ème exemple fonctionne comme prévu. – Baker