-1
votes

Y a-t-il quelque chose que je ne peux obtenir que l'URL de cette chaîne?

J'ai cette chaîne, j'ai besoin d'extraire l'URL à partir de cela.

url= https://www.youtube.com/watch?v=P******


0 commentaires

5 Réponses :


0
votes

Vous pouvez utiliser Expression régulière pour aller chercher la valeur.

p>

var str = `<figure class="media"><oembed url="https://www.youtube.com/watch?v=P******"></oembed></figure>`;

console.log(str.match(/url=\".*?\"/))


1 commentaires

Cela fonctionne pour l'exemple spécifique à la main, mais le * dans la regex est gourmand par défaut, s'il existe un autre " plus tard dans la chaîne Cela correspond à tout le chemin à cela. Cela devrait probablement avoir le modificateur paresseux (non gourmand) ? Ajouté: str.match (/ url = \ ". * ???" / )



3
votes

Méfiez-vous ZALGO . Utilisez un analyseur HTML approprié si disponible, au lieu de REGEXP.

p>

const source = '<figure class="media"><oembed url="https://www.youtube.com/watch?v=P******"></oembed></figure>';

const div = document.createElement('div');
div.innerHTML = source;

const oembed = div.querySelector('oembed');
console.log(oembed.getAttribute('url'));


0 commentaires

0
votes

Ceci est assez simple xxx


1 commentaires

Notez que OP a dit "J'ai cette chaîne", pas "J'ai ceci dans mon document HTML".



0
votes

Vous pouvez correspondre à l'URL à l'aide de l'opération de correspondance via REGEX

const string = `<figure class="media">
                 <oembed url="https://www.youtube.com/watch?v=P******"></oembed>
               </figure>`

const matches = string.match(/\bhttps?:\/\/.+(?=")/gi)
// ["https://www.youtube.com/watch?v=P******"]

console.log({ url: matches[0] })
// https://www.youtube.com/watch?v=P******


0 commentaires

0
votes
let str1 = '<figure class="media"><oembed url="https://www.youtube.com/watch?v=P******"></oembed></figure>';
let urlIndex = str1.indexOf("url=");
let extractUrl = str1.substring(urlIndex + 5, str1.indexOf('">', urlIndex));

1 commentaires

Bien que ce code puisse fournir une solution à la question, il est préférable d'ajouter du contexte pourquoi / comment cela fonctionne. Cela peut aider les futurs utilisateurs à apprendre et à appliquer cette connaissance à leur propre code. Vous êtes également susceptible d'avoir des commentaires positifs des utilisateurs sous forme de prospects, lorsque le code est expliqué.