Try:
$res = $dom->query('input[type="text"][value="somevalue]');Regards, Saša Stamenković On Thu, Oct 1, 2009 at 11:19 PM, gerardroche <[email protected]> wrote: > > how would you query two attributes together? > > I've tried quite a fwe variations: > > <input type="text" value="somevalue'" /> > > $res = $dom->query('input[type="text" value="somevalue]'); > $res = $dom->query('input[type="text", value="somevalue]'); > $res = $dom->query('input[type="text"+value="somevalue]'); > $res = $dom->query('input[type="text"][value="somevalue]'); > etc... > > Thanks, > > Gerard > > > Matthew Weier O'Phinney-3 wrote: > > > > -- Mon Zafra <[email protected]> wrote > > (on Thursday, 16 October 2008, 03:50 AM +0800): > >> Hi all, > >> > >> How do I select a node with an attribute with spaces? This code: > >> > >> require_once 'Zend/Dom/Query.php'; > >> $val = 'foo bar'; > >> $html = '<input type="text" value="' . $val . '" />'; > >> > >> $dom = new Zend_Dom_Query($html); > >> $res = $dom->query('input[value="' . $val . '"]'); > >> echo(count($res)); > >> > >> returns 0. I need this to make my controller tests pass. > > > > You need to use either a word match or a substring match: > > > > // word match: > > $res = $dom->query('input[value~="foo"]'); > > > > // substring match: > > $res = $dom->query('input[value*="foo bar"]'); > > > > The first will look for "foo" anywhere in the attribute. The second > > looks for "foo bar" anywhere in the attribute. > > > > Strict comparisons often fail because, to be able to do word or > > substring matches, we actually have to fudge a little and rewrite the > > attribute values to app/prepend empty strings. > > > > -- > > Matthew Weier O'Phinney > > Software Architect | [email protected] > > Zend Framework | http://framework.zend.com/ > > > > > > -- > View this message in context: > http://www.nabble.com/Zend_Dom_Query-and-attributes-with-spaces-tp20000971p25706697.html > Sent from the Zend Framework mailing list archive at Nabble.com. > >
