1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- function sanitize($textToSanitize,
- $removedTags = array('script', 'iframe', 'input', 'form'),
- $keptAttributes = array('title', 'href', 'src'),
- $keptText = array()){
- $htmlContent = str_get_html($textToSanitize);
- foreach($htmlContent->find('*[!b38fd2b1fe7f4747d6b1c1254ccd055e]') as $element) {
- if(in_array($element->tag, $keptText)) {
- $element->outertext = $element->plaintext;
- } elseif(in_array($element->tag, $removedTags)) {
- $element->outertext = '';
- } else {
- foreach($element->getAllAttributes() as $attributeName => $attribute) {
- if(!in_array($attributeName, $keptAttributes))
- $element->removeAttribute($attributeName);
- }
- }
- }
- return $htmlContent;
- }
- function backgroundToImg($htmlContent) {
- $regex = '/background-image[ ]{0,}:[ ]{0,}url\([\'"]{0,}(.*?)[\'"]{0,}\)/';
- $htmlContent = str_get_html($htmlContent);
- foreach($htmlContent->find('*[!b38fd2b1fe7f4747d6b1c1254ccd055e]') as $element) {
- if(preg_match($regex, $element->style, $matches) > 0) {
- $element->outertext = '<img style="display:block;" src="' . $matches[1] . '" />';
- }
- }
- return $htmlContent;
- }
- function defaultLinkTo($content, $server){
- foreach($content->find('img') as $image) {
- $image->src = urljoin($server, $image->src);
- }
- foreach($content->find('a') as $anchor) {
- $anchor->href = urljoin($server, $anchor->href);
- }
- return $content;
- }
|