Install in your project
composer require matejch/html_helpers "^1.0.0"
With class HtmlTagRemover
you can remove specified html tags and its content from html string
Example: remove tags based on name
$service = new HtmlTagRemover($htmlString);
service->removeTags(['a','img']);
Example: remove tags based on content of attribute
$service = new HtmlTagRemover($htmlString);
$service->removeTags(['a' => 'href[files]']);
/** remove 'a' tags where href attribute contains `files` substring and span elements contains class with `test` string */
$service->removeTags(['a' => 'href[files]','span' => 'class[test]']);
I created this class, because I needed to extract file paths from html before sending email, and add the as attachment
This class can return source from img or a tags automatically
But also from custom tags or attributes
Example: get file paths from img and a tag
$service = new HtmlFileExtractor($htmlString);
/** return files as array of strings directly from href and src */
$service->getFiles(['img','a'])
Example: get file paths other tags or specified attributes
/** return files as array of strings from class attributes of span elements */
$service->getFiles(['span' => 'class'])
$service->getFiles(['span' => 'class','img'=>'alt'])
/** return files as array of strings from class attributes of span elements,
* where class contains substring 'es' and from alt attribute of image tags
*/
$service->getFiles(['span' => 'class[es]','img'=>'alt'])
Remove package from your project
composer remove matejch/html_helpers