This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component/DomCrawler
Nicolas Grekas fc009c16d7 Merge branch '2.3' into 2.6
* 2.3:
  Changed visibility of setUp() and tearDown to protected
  fixed XSS in the exception handler
  Php Inspections (EA Extended) - static code analysis includes:
  [2.3] Remove most refs uses
  Test with local components instead of waiting for the subtree-splitter when possible

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Command/ContainerDebugCommand.php
	src/Symfony/Component/Config/Util/XmlUtils.php
	src/Symfony/Component/Console/Helper/ProgressHelper.php
	src/Symfony/Component/Debug/ExceptionHandler.php
	src/Symfony/Component/Debug/Tests/ErrorHandlerTest.php
	src/Symfony/Component/Filesystem/Tests/FilesystemTest.php
	src/Symfony/Component/OptionsResolver/Options.php
	src/Symfony/Component/Security/Acl/Dbal/MutableAclProvider.php
	src/Symfony/Component/Yaml/Inline.php
2015-03-12 11:28:44 +01:00
..
Field Merge branch '2.3' into 2.5 2014-12-22 17:29:52 +01:00
Tests Merge branch '2.3' into 2.6 2015-03-07 08:40:15 +01:00
.gitignore Added missing files .gitignore 2013-07-21 14:12:18 +02:00
CHANGELOG.md Changed the default value of checkbox and radio to match the HTML spec 2014-05-17 22:15:05 +02:00
composer.json Merge branch '2.3' into 2.6 2015-02-24 12:52:21 +01:00
Crawler.php Merge branch '2.3' into 2.6 2015-03-07 08:40:15 +01:00
Form.php Merge branch '2.3' into 2.5 2014-12-02 21:15:53 +01:00
FormFieldRegistry.php Docblock fixes 2014-11-30 13:33:44 +00:00
LICENSE Updated copyright to 2015 2015-01-01 13:56:52 +01:00
Link.php Merge branch '2.3' into 2.6 2015-03-12 11:28:44 +01:00
phpunit.xml.dist [2.3] require-dev PHPUnit bridge 2015-02-24 11:24:26 +01:00
README.md renamed composer.phar to composer to be consistent with the Symfony docs 2015-02-08 08:41:14 +01:00

DomCrawler Component

DomCrawler eases DOM navigation for HTML and XML documents.

If you are familiar with jQuery, DomCrawler is a PHP equivalent:

use Symfony\Component\DomCrawler\Crawler;

$crawler = new Crawler();
$crawler->addContent('<html><body><p>Hello World!</p></body></html>');

print $crawler->filterXPath('descendant-or-self::body/p')->text();

If you are also using the CssSelector component, you can use CSS Selectors instead of XPath expressions:

use Symfony\Component\DomCrawler\Crawler;

$crawler = new Crawler();
$crawler->addContent('<html><body><p>Hello World!</p></body></html>');

print $crawler->filter('body > p')->text();

Resources

You can run the unit tests with the following command:

$ cd path/to/Symfony/Component/DomCrawler/
$ composer install
$ phpunit