使用php获取表数据并安排

时间:2012-02-01 13:53:14

标签: php arrays

我想我不会很好地给出头衔,无论如何,我可以在这里更好地解释:

例如,代码是:

    <table>
            <tr>
                <td align="center"><span id="sn2">1</span></td>
                <td align="center"><div class="name">prakash</div></td>
                <td align="center"><span id="id2">student </span></td>
                <td><span id="surname1">timilsina</span></td>
                <td align="center"><span id="country1">nepal</span></td>
                <td align="center">date and time</td>
            </tr>
            <tr>
                <td align="center"><span id="sn2">2</span></td>
                <td align="center"><div class="name">aakash</div></td>
                <td align="center"><span id="id2">student</span></td>
                <td><span id="surname2">singh</span></td>
                <td align="center"><span id="country2">india</span></td>
                <td align="center">date and time</td>
            </tr>
    </table>

我们需要使用php做的是,获取数组中的值,如下所示:

    prakash -> timilsina
    aakash  -> singh

仅给出表中的姓名和姓氏。我不知道我该怎么做。希望能在这里得到解决。

提前致谢 欢呼声

1 个答案:

答案 0 :(得分:0)

使用preg_match_all这很容易。如果您不习惯它,那么正则表达式可能很复杂。在http://www.regular-expressions.info/

上查找完整的教程
<?php
$data = '
<table>
    <tr>
        <td align="center"><span id="sn2">1</span></td>
        <td align="center"><div class="name">prakash</div></td>
        <td align="center"><span id="id2">student </span></td>
        <td><span id="surname1">timilsina</span></td>
        <td align="center"><span id="country1">nepal</span></td>
        <td align="center">date and time</td>
    </tr>
    <tr>
        <td align="center"><span id="sn2">2</span></td>
        <td align="center"><div class="name">aakash</div></td>
        <td align="center"><span id="id2">student</span></td>
        <td><span id="surname2">singh</span></td>
        <td align="center"><span id="country2">india</span></td>
        <td align="center">date and time</td>
    </tr>
</table>';

$results = preg_match_all('#<div class="name">(.*?)</div>#i', $data, $matchesSurNames);
$results = preg_match_all('#<span id="surname[0-9]+">(.*?)</span>#i', $data, $matchesNames);

echo '<pre>';
var_dump($matchesSurNames[1]);
var_dump($matchesNames[1]);
echo '</pre>';

将导致

array(2) {
  [0]=>
  string(7) "prakash"
  [1]=>
  string(6) "aakash"
}
array(2) {
  [0]=>
  string(9) "timilsina"
  [1]=>
  string(5) "singh"
}