RegExp für UL Elemente

WACSF

Erfahrenes Mitglied
Hallo allerseits,

habe ein kleines Problem, aber verzweifle daran. Die Vorgeschichte von meinem Code ist recht überschaubar. Ich lade mittels XMLHttpRequest eine website (HTML- Seite, kein XML). Die Seite sieht so aus:
HTML:
<body>
<h4>name</h4>
<ul>
   <li>ABC</li>
   <li>ABC</li>
</ul>
<h4>Juhuu</h4>
<ul>
   <li>ABC</li>
   <li>ABC</li>
</ul>
</body>


Meine Javascript regular expression ist wie folgt:
Code:
var Suche = new RegExp('<ul>((.|\n)*)(<\/ul>){1}', 'gi');


Aber leider gibt mir diese immer alles zwischen dem ersten und dem letzten UL-Tag aus. Was muss ich ändern, dass ich die LI-Elemente zwischen den UL's bekomme?

Herzlichen Dank schonmal im Voraus,
WACSF
 
Hi.

Stichwort: nicht-gierige Quantifizierer

Code:
/<ul>((.|\n)*?)(<\/ul>)/
Gruß

PS: Warum verwendest du dafür denn nicht jQuery, Mootools oder ähnliches? Du kodierst doch hoffentlich nicht alles selbst?
 
Hallo und herzlichen Dank für Deine Hilfe.
Ehrlichgesagt habe ich noch nichts von Mootools gehört. Habe es mir gerade angeschaut, aber wie kann ich denn nach dem Request auf das html mit den schönen Funktionen wie "getElementsByTag" usw. zugreifen?

Code:
		window.addEvent('domready', function() {

			//We can use one Request object many times.
			var req = new Request.HTML({url:'http://www.google.de/', 
				onSuccess: function(html) {
					//Clear the text currently inside the results div.
					$('result').set('text', '');
					//Inject the new DOM elements into the results div.
					$('result').adopt(html);
                                       // ---------------------------
                                       // Hier würde ich gerne das HTML weiterverarbeiten
                                       // ---------------------------
				},
				//Our request will most likely succeed, but just in case, we'll add an
				//onFailure method which will let the user know what happened.
				onFailure: function() {
					$('result').set('text', 'The request failed.');
				}
			});
			
			$('makeRequest').addEvent('click', function() {
				req.send();
			});

		});

Das ist schon ein nettes Spielzeug, wenn das so einfach geht.

Danke nochmal für Deine Hilfe!
 

Neue Beiträge

Zurück