symfony - 过滤器选择 Symfony Dom Crawler
问题描述
我有这样的html:
<select name="MySelect" id="MySelectID">
<option value="0">One</option>
<option value="1">Two</option>
<option value="2">Three</option>
</select>
我想获取所有选项内部文本One
,Two
以及Three
如何使用 Symfony Dom Crawler 执行此操作?
解决方案
您可以轻松地为路径使用标签名称,例如$crawler->filter('select > option')
.
$crawler = new \Symfony\Component\DomCrawler\Crawler('
<select name="MySelect" id="MySelectID">
<option value="0">One</option>
<option value="1">Two</option>
<option value="2">Three</option>
</select>
');
$result = [];
foreach ($crawler->filter('select > option') as $domElement) {
$result[] = $domElement->textContent;
}
// $result is ['One', 'Two', 'Three']
推荐阅读
- telerik - 如何在 NativeScript 中使用 Flaticon 图标字体?
- java - 如何通过反射获取惰性Hibernate字段的值
- bash - 我可以在不中断命令替换的情况下设置 BASH_XTRACEFD=1 吗?
- django - 尝试为 Django TimeField 设置 input_formats 时出错
- ajax - 将工作 Ajax 调用转换为 Angular Observable
- c# - C# 在 appdomain 调用方法中加载 dll 不会再次加载 dll
- java - 删除日历图标
- flutter - 如何通过 FlutterView 或 Flutter.createFragment 使用平台通道
- java - 限制 Android 测验应用程序中的问题,我的问题列表来自 Firebase 实时数据库
- excel - 如何在 VBA 中公开变量?