<?php 
 
/** 
 * This file is part of the CodeIgniter 4 framework. 
 * 
 * (c) CodeIgniter Foundation <[email protected]> 
 * 
 * For the full copyright and license information, please view the LICENSE 
 * file that was distributed with this source code. 
 */ 
 
use Config\Services; 
 
/** 
 * CodeIgniter Security Helpers 
 */ 
 
if (! function_exists('sanitize_filename')) 
{ 
    /** 
     * Sanitize a filename to use in a URI. 
     * 
     * @param string $filename 
     * 
     * @return string 
     */ 
    function sanitize_filename(string $filename): string 
    { 
        return Services::security()->sanitizeFilename($filename); 
    } 
} 
 
//-------------------------------------------------------------------- 
 
if (! function_exists('strip_image_tags')) 
{ 
    /** 
     * Strip Image Tags 
     * 
     * @param string $str 
     * 
     * @return string 
     */ 
    function strip_image_tags(string $str): string 
    { 
        return preg_replace([ 
            '#<img[\s/]+.*?src\s*=\s*(["\'])([^\\1]+?)\\1.*?\>#i', 
            '#<img[\s/]+.*?src\s*=\s*?(([^\s"\'=<>`]+)).*?\>#i', 
        ], '\\2', $str 
        ); 
    } 
} 
 
//-------------------------------------------------------------------- 
 
if (! function_exists('encode_php_tags')) 
{ 
    /** 
     * Convert PHP tags to entities 
     * 
     * @param string $str 
     * 
     * @return string 
     */ 
    function encode_php_tags(string $str): string 
    { 
        return str_replace(['<?', '?>'], ['<?', '?>'], $str); 
    } 
} 
 
//-------------------------------------------------------------------- 
 
 |