webForumDet fria alternativet

Funktions- + regexpproblem...

1 svar · 143 visningar · startad av SPiN

SPiNMedlem sedan mars 20007 896 inlägg
#1

Tjenahejsan!

Jag håller på att bygga en klass som ska fungera som en XML-parser, dock har jag fastnat... Jag förstår inte vad jag gör för fel, är helt degig i huvvet just nu :l...

Det jag har fastnat på är funktionen för att hämta informationen i en tagg.

Om XML-taggen ser ut som följer;
<aElement>Information, information, information...</aElement>
Funkar min funktion hur bra som helst, men när jag sedan lägger till attribut i sagan vill det sig inte...
<aElement id="9">Information, information, information...</aElement>
Ovanstående funkar alltså inte.

Någon som ser något fel i mina reguljära uttryck?

function getContent($element) {
	$theNode = preg_replace("/<(.*?)>(.*?)<\/(.*?)>/is", "\\1", trim($element));
	$result = preg_replace("/<" . $theNode . ">(.*?)<\/" . $theNode . ">/is", "\\1", $element);

	return $result;
}

Funktionen returnerar alltså innehållet mellan en starttagg och en sluttag med samma namn.

Någon som ser något som jag inte upptäckt? :q

Tack på förhand, webForum brukar ju klara biffen :e

------------------
SPiN, bjorne.w@telia.com

-- They pretend to pay me, I pretend to work --

SPiNMedlem sedan mars 20007 896 inlägg
#2

Ghaaaa!
Kom på vad det var när jag skummade igenom mitt inlägg... :r

$theNode får ju värdet som är mellan < och >, dvs. taggnamnet PLUS attributen... Det betyder att när den sedan ska byta ut i den andra preg_replace(); matchar inte sluttaggen, eftersom att attributen är med!

Så nu är det löst :)

Sa ju att webForum fixade biffen ;) :e

------------------
SPiN, bjorne.w@telia.com

-- They pretend to pay me, I pretend to work --

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)