Das Problem:Auswählen mehrere Teilstrings aus String JavaScript
Ich habe eine große Zeichenfolge (es ist HTML-Format) und ich brauche mehr Teil aus, um es auszuwählen und sie dann in ein Array von Objekten zu schieben. Bitte beachten Sie: I kann die ursprüngliche Zeichenfolge nicht ändern. Das folgende Beispiel ist eine vereinfachte Version.
Was ich brauche:
Ein Array von Objekten, die Informationen über "Rezepte", etwa so:
const recipes = [
{
title: "This is title number 1",
imagelink: "/exampleimage1.jpg",
recipelink: "www.examplelink1.com"
}, {
title: "This is title number 2",
imagelink: "/exampleimage2.jpg",
recipelink: "www.examplelink2.com"
}]
Was die Zeichenfolge wie folgt aussieht:
Dies ist ein vereinfachte Version der Zeichenfolge. Das Original enthält mehr Zeichen und mehr Tags wie href usw. So kann ich nicht nur auf diese Teilstrings filtern. Wie Sie sehen können, sind der Titel, der Link und der Link zum Bild mehr als einmal vorhanden. Es spielt also keine Rolle, welche Duplikate in das Array geschoben werden, solange sie zu ihrem übergeordneten Rezept gehören.
<section class="item recipe " data-title="This is title number 1" data-record-type="recipe">
<figure class="">
<a href="www.examplelink1.com">
<span class="favorites-wrapper">
<span class="favorite shadow " data-is-favorite="false" data-recipe-id="11111" data-recipe-title="This is title number 1">
</span>
</span>
<span class="type">recept</span>
<img src="images/blank-16x11.gif" data-src="/exampleimage1.jpg" class="js-lazyload" data-retina-src="/exampleimage1.jpg" alt="This is title number 1">
</a>
</figure>
<header>
<h4> <a href="www.examplelink1.com"> This is title number 1 </a> </h4>
<div class="rating">
<span><div class="icon icon-star active"></div></span>
<span><div class="icon icon-star active"></div></span>
<span class="count">(<span>84</span>)</span>
</div>
<div class="time">15 min.</div>
</header>
</section>
<section class="item recipe " data-title="This is title number 2" data-record-type="recipe">
<figure class="">
<a href="www.examplelink2.com">
<span class="favorites-wrapper">
<span class="favorite shadow " data-is-favorite="false" data-recipe-id="22222" data-recipe-title="This is title number 2">
</span>
</span>
<span class="type">recept</span>
<img src="images/blank-16x11.gif" data-src="/exampleimage2.jpg" class="js-lazyload" data-retina-src="/exampleimage2.jpg" alt="This is title number 2">
</a>
</figure>
<header>
<h4> <a href="www.examplelink2.com"> This is title number 2 </a> </h4>
<div class="rating">
<span><div class="icon icon-star active"></div></span>
<span><div class="icon icon-star active"></div></span>
<span class="count">(<span>84</span>)</span>
</div>
<div class="time">15 min.</div>
</header>
</section>
Ich bin mir nicht sicher, ob mein JavaScript-Wissen weit genug reicht, um dies zu lösen. Hilfe wird sehr geschätzt!
Sie versuchen also, was zu erreichen? – messerbill
Sehen Sie sich HTML-Parsing und JavaScript an. Das ist dein bester Ansatz. – cwallenpoole
@messerbill Ich versuche Datenwerte von dieser Zeichenfolge abzufangen! – Nova