|
Server : LiteSpeed System : Linux srv104790275 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64 User : dewac4139 ( 1077) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /home/sarkas88.com/public_html/wp-content/plugins/amp/includes/utils/ |
Upload File : |
<?php
/**
* Class AMP_HTML_Utils
*
* @package AMP
*/
/**
* Class with static HTML utility methods.
*
* @internal
*/
class AMP_HTML_Utils {
/**
* Generates HTML markup for a given tag, attributes and content.
*
* @param string $tag_name Tag name.
* @param array $attributes Associative array of $attribute => $value pairs.
* @param string $content Inner content for the generated node.
* @return string HTML markup.
*/
public static function build_tag( $tag_name, $attributes = [], $content = '' ) {
$attr_string = self::build_attributes_string( $attributes );
return sprintf( '<%1$s %2$s>%3$s</%1$s>', sanitize_key( $tag_name ), $attr_string, $content );
}
/**
* Generates a HTML attributes string from given attributes.
*
* @param array $attributes Associative array of $attribute => $value pairs.
* @return string HTML attributes string.
*/
public static function build_attributes_string( $attributes ) {
$string = [];
foreach ( $attributes as $name => $value ) {
if ( '' === $value ) {
$string[] = sprintf( '%s', sanitize_key( $name ) );
} else {
$string[] = sprintf( '%s="%s"', sanitize_key( $name ), esc_attr( $value ) );
}
}
return implode( ' ', $string );
}
/**
* Checks whether the given string is valid JSON.
*
* @param string $data String hopefully containing JSON.
* @return bool True if the string is valid JSON, false otherwise.
*/
public static function is_valid_json( $data ) {
json_decode( $data );
return ( json_last_error() === JSON_ERROR_NONE );
}
}