Skip to content

aegiswp/dom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aegis DOM

A DOM manipulation library for PHP, designed for the Aegis Framework.

Installation

composer require aegis/dom

Usage

First, require Composer's autoloader:

require_once __DIR__ . '/vendor/autoload.php';

Then, you can use the library's classes.

DOM Class

The DOM class provides utilities for creating, parsing, and manipulating DOMDocument objects.

Example: Modifying HTML

use Aegis\Dom\DOM;

$html = '<h1>Hello, World!</h1>';

// Create a DOMDocument from an HTML string
$dom = DOM::create( $html );

// Get the h1 element
$h1 = DOM::get_element( 'h1', $dom );

if ( $h1 ) {
    // Add a class to the h1 element
    DOM::add_classes( $h1, ['heading', 'main-title'] );

    // Add inline styles
    DOM::add_styles( $h1, ['color' => 'blue', 'font-size' => '24px'] );
}

// To get the modified HTML, you need to save it from the document element
echo $dom->saveHTML();

CSS Class

The CSS class provides helpers for working with CSS rules.

Example: Converting CSS arrays to strings

use Aegis\Dom\CSS;

$styles = [
    'color'      => 'red',
    'font-size'  => '16px',
    'background' => '#eee',
];

$css_string = CSS::array_to_string( $styles );

// Output: color:red;font-size:16px;background:#eee;
echo $css_string;

Example: Converting CSS strings to arrays

use Aegis\Dom\CSS;

$css_string = 'color:blue; font-weight:bold;';

$styles_array = CSS::string_to_array( $css_string );

// Output:
// [
//   'color' => 'blue',
//   'font-weight' => 'bold',
// ]
print_r( $styles_array );

JS Class

The JS class helps format inline JavaScript.

Example: Formatting inline JS

use Aegis\Dom\JS;

$inline_js = '  alert( "Hello World" );  ';

$formatted_js = JS::format_inline_js( $inline_js );

// Output: alert( 'Hello World' )
echo $formatted_js;

Contributing

Contributions are welcome! Please submit a pull request or create an issue on the GitHub repository.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages