芝麻web文件管理V1.00
编辑当前文件:/home/r5772835/public_html/rigato2.ycreate.site/wp-content/themes/swell/lib/rewrite_html.php
]*?)?>(.*?)?<\/script>/ims', __NAMESPACE__ . '\replace_scripts', $html ); // error_log( PHP_EOL, 3, ABSPATH . 'my.log' ); return $new_html; } catch ( Exception $e ) { return $html; } } function replace_scripts( $matches ) { $script = $matches[0]; $attrs = $matches[1]; $code = trim( $matches[2] ); // 遅延読み込み対象のキーワード $delay_js_list = \SWELL_Theme::str_to_array( \SWELL_Theme::get_option( 'delay_js_list' ) ); $delay_js_list = apply_filters( 'swell_delay_js_list', $delay_js_list ); // JSON-LDは強制的に対象から外す if ( str_contains( $attrs, 'application/ld+json' ) ) { return $script; } if ( $code ) { // error_log( $code, 3, ABSPATH . 'my.log' ); if ( is_keyword_included( $code, $delay_js_list ) ) { // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.obfuscation_base64_encode $attrs .= ' data-swldelayedjs="data:text/javascript;base64,' . base64_encode( $code ) . '"'; $script = ''; } } elseif ( ! empty( $attrs ) ) { // error_log( $attrs . PHP_EOL, 3, ABSPATH . 'my.log' ); preg_match( '/\ssrc=[\'"](.*?)[\'"]/', $attrs, $matched_src ); $src = ( $matched_src ) ? $matched_src[1] : ''; // error_log( $src . PHP_EOL, 3, ABSPATH . 'my.log' ); if ( $src ) { if ( is_keyword_included( $src, $delay_js_list ) ) { // src を data-srcへ $new_attrs = str_replace( ' src=', ' data-swldelayedjs=', $attrs ); // attrs入れ替え $script = str_replace( $attrs, $new_attrs, $script ); } } } // log // error_log( $script, 3, ABSPATH . 'my.log' ); return $script; } function scripts_inject() { $timeout = \SWELL_Theme::get_option( 'delay_js_time' ) ?: 0; ?>