gpt4 book ai didi

css - 转义symfony css选择器中的特殊字符或使用通配符

转载 作者:太空宇宙 更新时间:2023-11-04 09:36:35 27 4
gpt4 key购买 nike

我正在使用 Symfony\Component\DomCrawler\Crawler 包来查找名称包含许多 css 特殊字符的表单

<input name="myfield[0].thing">

我正在使用

$messageElement = $crawler->filter('input[name=myField[0].thing]');

return $messageElement->attr($attribute);

但是我得到了错误

Symfony\Component\CssSelector\Exception\SyntaxErrorException: Expected "]", but found.

显然这是因为 symfony css 选择器使用 [ ] 来包含属性。所以如果我尝试转义所有特殊字符

$crawler->filter('input[name=myField\[0\]\.thing]');

我现在得到空输出。我该如何解决这个问题?

额外问题:是否可以改用通配符? * 似乎对我不起作用。

最佳答案

如果你封装它应该工作的字段名称,试试这个:

$messageElement = $crawler->filter('input[name="myField[0].thing"]');

return $messageElement->attr($attribute);.

对于奖金问题,您可以使用类似于此处建议的正则表达式匹配:wildcard * in CSS for classes

// For matching strings starting with a certain thing notice the ^=
$messageElement = $crawler->filter('input[name^="myField[0]"]');

// For matching strings containing with a certain thing notice the *=
$messageElement = $crawler->filter('input[name*="myField[0]"]');

关于css - 转义symfony css选择器中的特殊字符或使用通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40288782/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com