2017-12-11 4 views
0

내가이 XML XML은 -

<SPEC> 
<![CDATA[<ul> 
     <li>Rozmery: 42 x 64 x 36mm</li> 
     <li>Váha: 63g</li> 
     <li>Farba: biela</li> 
     <li>Výkon: 2 x 25w @ 8 ohmov</li> 
     <li>Citlivosť: 98 dB</li> 
     <li>Frekvenčný rozsah: 80Hz-22kHz</li> 
    </ul>]]> 
</SPEC> 

을하려면 "Rozmery :"의 값을 분할 할 경우에만 처음 나타나는 분할 "42 X 64 X 36mm을 ..." HTML 요소없이. 하지만 가끔은 ": 16 : Pomer의 strán 4는"거기에 내가 여전히 필요 "Pomer의 strán을 :을"과 "16 : 4를"

는 PHP 기능이 작업을 수행 할 어떤 방법이 있나요?

감사합니다.

답변

0

나는 내부적으로 XML을 어떻게 든 얻는다 고 가정합니다 (OP에는 언급되지 않음). 당신이 필요로하는 것은 간단한 RegEx이며 모든 것을 콜론과 모든 뒤에 매치시킵니다.

$parts = explode(':', $yourInnerXML); 

// $parts[0]: Contains before colon 
// $parts[1]: Contains after colon 
:

preg_match_all('~(\w+):(.+)~', $yourInnerXML, $matches); 

// $matches[0]: Contains all findings 
// $matches[1]: Contains all findings of the first group (everything before the colon) 
// $matches[2]: Contains all findings of the second group (everyting after the colon) 

은 또한 콜론 내부 XML을 분할 할 수