Mojolicious,Mojo :: DOM选择标记包含文本

use*_*968 2 perl parsing css-selectors mojolicious

在Mojolicious中有模拟":contains()"(JQuery,JSoup)选择器吗?

选择器":contains('text')~td + td"在JQuery和JSoup中工作.如何将其转换为Mojolicious选择器?

http://api.jquery.com/contains-selector/

描述:选择包含指定文本的所有元素.

版本添加:1.1.4jQuery(":contains(text)")text:要查找的文本字符串.这是区分大小写的.

http://jsoup.org/apidocs/org/jsoup/select/Selector.html

:包含包含指定文本的(文本)元素.搜索不区分大小写.文本可能出现在找到的元素或其任何后代中.

Mojolicious模拟?

hob*_*bbs 5

未经测试,但我会朝着方向前进

$dom->find('*')
    ->grep(sub { $_->all_text =~ /text/ })
    ->map('following', 'td')
    ->map('find', 'td')
Run Code Online (Sandbox Code Playgroud)

(如果你在你之前有更具体的东西:contains,比如至少一个标签名称选择器,那么*用那个替换,这应该对性能有很大帮助).