我想我不会很好地给出头衔,无论如何,我可以在这里更好地解释:
例如,代码是: <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
仅给出表中的姓名和姓氏。我不知道我该怎么做。希望能在这里得到解决。
提前致谢 欢呼声
答案 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"
}