2011-03-01 4 views
0

나는 wordpress를 사용하여 하키 웹 사이트를 만들고 있습니다. 나는이 같은 HTML 얻을 wp_nav_menu을 사용 하키 플레이어와 메신저의 사용자 지정 메뉴가 있습니다 : 페이지에이 메아리 전에목록 데이터를 PHP로 테이블로 변환하는 방법

<ul id="example-menu"> 
<li><a href="/example/">[3] [DeBlois] [USA] [20 yr] [5’11] [185 lbs]</a></li> 
<li><a href="/example/">[35] [Baldino] [USA] [20 yr] [5’11] [185 lbs]</a></li> 
<li><a href="/example/">[2] [Esch] [USA] [20 yr] [5’11] [185 lbs]</a></li> 
</ul> 

을, 나는 배열로 휴식과 테이블에 다시 함께 각각의를 넣어 싶어 열이 멋지게 늘어서 있습니다. 또한 [USA] 부분을 그래픽으로 교체해야합니다. 그래야 배열로 목록을 가져 오면 쉽게 할 수 있습니다.

이 html 형식을 통해 구문 분석하는 가장 좋은 방법은 무엇입니까? WP에서 사용할 수있는 다른 함수가 있습니까?

+1

? 아니면 다른 웹 사이트를 고치고 있습니까? 이상적으로는 HTML을 반환하기 전에 배열을 작성하는 것이 좋습니다. – dmcnelis

답변

0

dmcnelis 제안에 따라 다른 웹 사이트에서 긁어 모으고 있다면 '[']을 (를) 벗기면서 과 'exploding'을 조합하여 ']'문자를 볼 수 있습니다.

0

당신은() (첫 번째 무시) 행을 얻기 위해, 그리고 루프 그들을 통해

'<li>' 

및 strip_tags로 폭발 할 수와 COLS를 얻을 수

'] [' 

로 폭발.

2
<?php 

$html = '<ul id="example-menu"> 
<li><a href="/example/">[3] [DeBlois] [USA] [20 yr] [5’11] [185 lbs]</a></li> 
<li><a href="/example/">[35] [Baldino] [USA] [20 yr] [5’11] [185 lbs]</a></li> 
<li><a href="/example/">[2] [Esch] [USA] [20 yr] [5’11] [185 lbs]</a></li> 
</ul>'; 


$doc = new DOMDocument(); 
@$doc->loadHTMl($html); 
$link_array = $doc->getElementsByTagName('a'); 


$result = array(); 

foreach($link_array as $element) 
{ 
    $value = $element->nodeValue; 
    $value = str_replace('[','',$value); 
    $value = str_replace(']','',$value); 

    $row = explode(" ",$value); 

    $result[] = $row; 
    unset($row); 
} 

echo "<pre>"; 
print_r($result); 
echo "</pre>"; 
?> 

OUTPUT이에서 반환지고

Array 
(
    [0] => Array 
     (
      [0] => 3 
      [1] => DeBlois 
      [2] => USA 
      [3] => 20 
      [4] => yr 
      [5] => 5’11 
      [6] => 185 
      [7] => lbs 
     ) 

    [1] => Array 
     (
      [0] => 35 
      [1] => Baldino 
      [2] => USA 
      [3] => 20 
      [4] => yr 
      [5] => 5’11 
      [6] => 185 
      [7] => lbs 
     ) 

    [2] => Array 
     (
      [0] => 2 
      [1] => Esch 
      [2] => USA 
      [3] => 20 
      [4] => yr 
      [5] => 5’11 
      [6] => 185 
      [7] => lbs 
     ) 

) 
+0

미안하지만 전에 말했어 야 했어. 나는 사이트에서 커스텀 메뉴를 만들기 위해 wordpress를 사용하고있다. 그들은 클라이언트가 업데이트를 관리 할 수있게하면서 인터페이스를 통해 쉽게 만들 수있는 것보다 링크에 대한 더 많은 기술적 인 정보를 원합니다 ... 그래서 메뉴 항목 제목에서 조작하기 쉽도록 []의 생각을 추가했습니다. 또한 wp_nav_menu()에서 원시 메뉴 항목을 가져 오는 함수가 표시되지 않습니다. – drrobotnik

+0

나는 당신을 얻지 않는다. []가 제거되는 것을 원하지 않습니다. 그렇다면 str_replace를 수행하는 행을 제거하십시오. 더 많은 기술 정보가 무엇을 의미하는지 이해하지 못합니다. –

관련 문제