AsyncJs.php in Advanced CSS/JS Aggregation 8.3
Same filename and directory in other branches
Namespace
Drupal\advagg_mod\AssetFile
advagg_mod/src/Asset/AsyncJs.phpView source
<?php
namespace Drupal\advagg_mod\Asset;
/**
* Add async tag to scripts.
*/
class AsyncJs {
/**
* Add Async attribute to all external script tags.
*
* @param string $content
* The response content.
*
* @return string
* Updated content.
*/
public function async($content) {
$pattern = '/<script src=".*"/';
return preg_replace_callback($pattern, [
$this,
'callback',
], $content);
}
/**
* Callback to replace individual stylesheet links.
*
* @param array $matches
* Array from matches from preg_replace_callback.
*
* @return string
* Updated html string.
*/
protected function callback(array $matches) {
return "{$matches[0]} async";
}
}