Skip to content


Subversion checkout URL

You can clone with
Download ZIP
[READ-ONLY] Subtree split of the Symfony DomCrawler Component -- clone into Symfony/Component/ (master at symfony/symfony)

Merge branch '2.8'

* 2.8:
  Added 'default' color
  [HttpFoundation] Reload the session after regenerating its id
  [HttpFoundation] Add a test case to confirm a bug in session migration
  [Serializer] Fix ClassMetadata::sleep()
  [2.6] Static Code Analysis for Components and Bundles
  [Finder] Command::addAtIndex() fails with Command instance argument
  [DependencyInjection] Freeze also FrozenParameterBag::remove
  [Twig][Bridge] replaced `extends` with `use` in bootstrap_3_horizontal_layout.html.twig
  fix CS
  fixed CS
  Add a way to reset the singleton
  [Security] allow to use `method` in XML configs
  [Serializer] Fix Groups tests.
  Remove duplicate example
  Remove var not used due to returning early (introduced in 8982c32)
  [Serializer] Fix Groups PHPDoc
  Enhance hhvm test skip message
  fix for legacy asset() with EmptyVersionStrategy
  [Form] Added upgrade notes for #15061
latest commit cf85993681
@fabpot fabpot authored

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();


You can run the unit tests with the following command:

$ cd path/to/Symfony/Component/DomCrawler/
$ composer install
$ phpunit
Something went wrong with that request. Please try again.