如何从列表(ul)标记生成项目数组?

时间:2011-02-03 11:20:41

标签: php phpquery

从以下代码:

<ol>
  <li>Coffee</li>
  <li>Tea</li>
  <li>Milk</li>
</ol>

如何使用phpQuery创建数组

array(
  'Coffee',
  'Tea',
  'Milk'
);

这是我的第一次尝试,它是非常丑陋的

    $doc = phpQuery::newDocumentHTML(...);
    $img = $doc->find('ol');
    $list = array();
    function attrsrc($i, $v){
        global $list;
        $list[] =  phpQuery::pq($v)->text();
    }
    phpQuery::each($img, 'attrsrc',  new CallbackParam, new CallbackParam);
    print_r($list);

1 个答案:

答案 0 :(得分:8)

试试这个:

include 'phpQuery.php';

$string = '<ol> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ol>';
$content = phpQuery::newDocument($string)->find('ol li');

$drinks = array();

foreach ($content as $li) {
     $drinks[] = pq($li)->text();
}

print_r($drinks);