【问题标题】:help with php regexp帮助 php 正则表达式
【发布时间】:2011-10-20 15:43:11
【问题描述】:

我有这样的桌子 -> http://jsfiddle.net/jurisKaste/FvgeQ/

我需要从 id 列中获取所有这些数字的数组... 我正在使用 php 代码,到目前为止,我已经从这里获得了这段代码。 我只能使用 php! Get number from a string

我怎样才能修改这个正则表达式来获得一个可读的数组? 所以完整的代码是这样的

$data = str_replace(",", ".", $data); // $data 是来自 fiddle 的 html 代码! preg_match_all("/[+-]?\d+[\d\.Ee+]*/", $data, $matches); var_dump($matches);

编辑: 这个呢?

$data = str_replace(",", "", $data); preg_match_all("/[0-9]{5,6}/",$data,$matches); 打印 var_dump($matches);

它对我有用...

【问题讨论】:

标签: php html regex parsing


【解决方案1】:

试试这个,它在每个<tr 之后查找第一个td,然后获取<td></td> 之间的数字

preg_match_all("/\<tr.+?td.+?\>([\d,]+?)\</s",$string,$matches);
print "<pre>"; var_dump($matches); print "</pre>";

【讨论】:

  • 它是来自谷歌电子表格结构化查询的数据,它用逗号给出了这个 id......所以我把它剪下来并使用这个正则表达式模式......它工作......在例子中我有 6 位数id,但它也可以是 5 位数字......这就是为什么我写 {5,6} $data = str_replace(",", "", $data); preg_match_all("/[0-9]{5,6}/",$data,$matches);打印“
    ”; var_dump($matches);打印“
    ”;
【解决方案2】:

试试看

$xml=new SimpleXMLElement($data);
foreach($xml->tr as $tr){
    echo $tr->td[0];
}

【讨论】:

    【解决方案3】:
    $data = str_replace(",", "", $data);
    preg_match_all("/[0-9]{5,6}/",$data,$matches);
    print var_dump($matches);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      相关资源
      最近更新 更多