1. Go to this page and download the library: Download richarddobron/dom-forge library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
richarddobron / dom-forge example snippets
// Without configuration
$dom1 = DomForge::fromHtml('<div class="container"><p>Hello World</p></div>');
$dom2 = DomForge::fromFile('/path/to/file.html');
// With configuration
$config = (new Configuration())
->setLowercase(true)
->setRemoveLineBreaks(true)
->setTargetCharset('UTF-8');
$dom1 = DomForge::fromHtml('<div>Content</div>', $config);
$dom2 = DomForge::fromFile('/path/to/file.html', $config);
// Find all matching elements
$elements = $dom->find('div.container');
// Find first matching element
$element = $dom->findOne('p');
// Find by index (0-based)
$element = $dom->find('p', 0);
// Find with CSS selectors
$dom->find('#id'); // By ID
$dom->find('.class'); // By class
$dom->find('div p'); // Descendant
$dom->find('div > p'); // Direct child
$dom->find('div + p'); // Adjacent sibling
$dom->find('div, p'); // Multiple selectors
$dom->find('[attribute]'); // Has attribute
$dom->find('[attr=value]'); // Attribute equals
$dom->find('[attr^=val]'); // Attribute starts with
$dom->find('[attr$=val]'); // Attribute ends with
$dom->find('[attr*=val]'); // Attribute contains
$element = $dom->findOne('div');
// Get inner HTML (child elements as HTML string)
$inner = $element->innerHtml();
// Get outer HTML (including the element itself)
$outer = $element->outerHtml();
// Get text content (strips HTML tags)
$text = $element->textContent();
// Using magic properties
$inner = $element->innerHtml;
$outer = $element->outerHtml;
$text = $element->textContent;
$element = $dom->findOne('div');
// Set inner HTML
$element->innerHtml = '<p>New content</p>';
// Set outer HTML (replaces the element)
$element->outerHtml = '<span>Replaced</span>';
// Create an element
$span = $dom->createElement('span');
$span = $dom->createElement('span', 'Hello World'); // with content
$span = $dom->createElement('a', 'Click', ['href' => 'https://example.com', 'class' => 'btn']);
// Create a text node
$textNode = $dom->createTextNode('Hello World');
// Create a comment
$comment = $dom->createComment('This is a comment');
// Append a child element
$container = $dom->findOne('#container');
$newElement = $dom->createElement('p', 'New paragraph');
$container->appendChild($newElement);
// Remove a child element
$child = $container->firstChild();
$container->removeChild($child);
// Insert before another element
$ul = $dom->findOne('ul');
$newLi = $dom->createElement('li', 'First item');
$existingLi = $ul->firstChild();
$ul->insertBefore($newLi, $existingLi);
// Check if element has children
if ($container->hasChildren()) {
// ...
}
$element = $dom->findOne('a');
// Get attribute
$href = $element->getAttribute('href');
// Check if attribute exists
if ($element->hasAttribute('target')) {
// ...
}
// Set attribute
$element->setAttribute('class', 'link');
// Get all attributes
$attrs = $element->getAttributes();
// Remove attribute
$element->removeAttribute('class');
// Magic property access
$href = $element->href;
$element->class = 'active';
$node = $dom->findOne('div');
$node->isElement(); // true for HTML elements
$node->isText(); // true for text nodes
$node->isComment(); // true for comment nodes
$node->isSelfClosing(); // true for self-closing tags (br, img, etc.)
$node->isNamespacedElement(); // true for elements like fbt:param
$element = $dom->findOne('ul');
// Get parent
$parent = $element->parent;
// Get children
$children = $element->children(); // All child nodes
$firstChild = $element->children(0); // First child by index
$firstChild = $element->firstChild(); // First child
$lastChild = $element->lastChild(); // Last child
// Get siblings
$next = $element->nextSibling(); // Next sibling element
$prev = $element->previousSibling(); // Previous sibling element
// Get nodes (
// Get element by ID
$element = $dom->getElementById('myId');
// Get elements by ID (with index support)
$elements = $dom->getElementsById('myId');
$element = $dom->getElementsById('myId', 0);
// Get element by tag name
$element = $dom->getElementByTagName('div');
// Get elements by tag name
$elements = $dom->getElementsByTagName('p');
$element = $dom->getElementsByTagName('p', 0);
$dom = DomForge::fromHtml('<div><p>Test</p></div>');
// Set a callback that runs when getting outerHtml
$dom->setCallback(function ($node) {
// Process each node
});
// Remove callback
$dom->removeCallback();
// Get HTML as string
$html = $dom->save();
// Save to file
$dom->save('/path/to/file.html');
// Or use __toString
$html = (string) $dom;
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.