Goutte - 在遍历列时从 td 获取 link
Goutte - get link from a td while iterating through columns
我正在尝试从 table 中混合使用文本和 href,最后一列包含 href,而其他列只是文本。如何在迭代时获取文本和适当的 href。
我有 html table 并且我想从 table
中创建数组
$html = '<table>
<tr>
<td>user1</td>
<td>address1</td>
<td>dob1</td>
<td>status1</td>
<td>link1</td>
</tr>
<tr>
<td>user2</td>
<td>address2</td>
<td>dob2</td>
<td>status2</td>
<td>link2</td>
</tr>
<tr>
<td>user3</td>
<td>address3</td>
<td>dob3</td>
<td>status3</td>
<td>link3</td>
</tr>
</table>
如您所见,最后一列是 link 而其他列是文本,我想提取文本和 link 以便我的数组必须如下所示
array(
"user1",
"address1",
"dob1",
"status1",
"<a href='link1'><img src='profile.jpg' /><a/>",
),
array(
"user2",
"address2",
"dob2",
"status2",
"<a href='link2'><img src='profile.jpg' /><a/>",
),
array(
"user3",
"address3",
"dob3",
"status3",
"<a href='link3'><img src='profile.jpg' /><a/>",
)
)
我现在可以使用下面的这个函数从 table
中获取文本
$table = $crawler->filter('table')->filter('tr')->each(function ($tr, $i) {
return $tr->filter('td')->each(function ($td, $i) {
return trim($td->text());
});
});
但最后一列是 link 我如何使用 link() 捕获它?
你能在第二个循环中通过 $i 检查吗?所以如果 $i==3 它意味着函数应该 return link().
我正在尝试从 table 中混合使用文本和 href,最后一列包含 href,而其他列只是文本。如何在迭代时获取文本和适当的 href。
我有 html table 并且我想从 table
中创建数组$html = '<table>
<tr>
<td>user1</td>
<td>address1</td>
<td>dob1</td>
<td>status1</td>
<td>link1</td>
</tr>
<tr>
<td>user2</td>
<td>address2</td>
<td>dob2</td>
<td>status2</td>
<td>link2</td>
</tr>
<tr>
<td>user3</td>
<td>address3</td>
<td>dob3</td>
<td>status3</td>
<td>link3</td>
</tr>
</table>
如您所见,最后一列是 link 而其他列是文本,我想提取文本和 link 以便我的数组必须如下所示
array(
"user1",
"address1",
"dob1",
"status1",
"<a href='link1'><img src='profile.jpg' /><a/>",
),
array(
"user2",
"address2",
"dob2",
"status2",
"<a href='link2'><img src='profile.jpg' /><a/>",
),
array(
"user3",
"address3",
"dob3",
"status3",
"<a href='link3'><img src='profile.jpg' /><a/>",
)
)
我现在可以使用下面的这个函数从 table
中获取文本$table = $crawler->filter('table')->filter('tr')->each(function ($tr, $i) {
return $tr->filter('td')->each(function ($td, $i) {
return trim($td->text());
});
});
但最后一列是 link 我如何使用 link() 捕获它?
你能在第二个循环中通过 $i 检查吗?所以如果 $i==3 它意味着函数应该 return link().