<commit_before><?php

/**
 * Biblioteca de funções
 * 
 * @author <NAME> <<EMAIL>>
 * @copyright <NAME>
 * @twitter giovanni_ramos
 * @since 2010-09-07 
 * @version 2.0
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 * @package PDO4You
 *
 * */


/**
 * Autoloading classes
 * 
 * @param string $className Nome da classe sendo instânciada
 * @throws Emite uma exceção em caso de erro
 * 
 * */
function __autoload($className) 
{
	try {
		try {
			spl_autoload_extensions('.class.php');
			spl_autoload($className);
		} catch (Exception $e) {
			throw new Exception ("A classe '<i>$className.class.php</b>' n&atilde;o p&ocirc;de ser localizada. Imposs&iacute;vel carregar automaticamente sua inst&acirc;ncia.");
		}
	} catch (Exception $e) {
		PDO4You::stackTrace($e);
	}
}


/**
 * Método que conta o total de ocorrências em um array, com base em determinada condição satisfeita 
 * 
 * @param mixed $expr1 Valor que será avaliado
 * @param string $expr2 Operador de avaliação
 * @param string $expr3 Atribuição condicional
 * @return integer Retorna o total de ocorrências
 * 
 * */
function countWhere($expr1 = 1, $expr2 = '==', $expr3 = 1)
{
	$expr1 = is_array($expr1) ? $expr1 : (array)$expr1;
	$expr2 = !in_array($expr2, array('<','>','<=', '>=','==', '!=')) ? '==' : $expr2;
	
	$i = 0;
	foreach($expr1 as $current):
		$match = null;
		eval('$match = (bool)("'.$current.'"'.$expr2.'"'.$expr3.'");');
		
		$i = $match ? $i+1 : $i;
	endforeach;
	
	return $i;
}

?><commit_msg>UPDATE: Add clearStyle(), htmlColon()<commit_after><?php

/**
 * Biblioteca de funções
 * 
 * PHP version 5
 * 
 * @category PHP
 * @package PDO4You
 * @author <NAME> <<EMAIL>>
 * @copyright <NAME>
 * @since 2010-09-07 
 * @version 2.1
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 * @link https://github.com/giovanniramos/PDO4YOU
 *
 * */

/**
 * Autoloading de classes
 * 
 * @param string $class Nome da classe invocada durante a instância
 * @throws Dispara uma exceção em caso de erro
 * 
 * */
function __autoload($class)
{
    try {
        try {
            spl_autoload_extensions('.class.php');
            spl_autoload($class);
        } catch (Exception $e) {
            throw new Exception("O Autoloader n&atilde;o conseguiu localizar a classe '<i>Test.class.php</i>', impedindo a inst&acirc;ncia autom&aacute;tica.");
        }
    } catch (Exception $e) {
        PDO4You::stackTrace($e);
    }
}

/**
 * Soma o total de ocorrências em um array de uma determinada condição satisfeita 
 * 
 * @param mixed $expr1 Valor que será avaliado
 * @param string $expr2 Operador de avaliação
 * @param string $expr3 Atribuição condicional
 * @return integer Retorna o total de ocorrências
 * @see PDO4You::rowCount()
 * 
 * */
function countWhere($expr1 = 1, $expr2 = '==', $expr3 = 1)
{
    $expr1 = is_array($expr1) ? $expr1 : (array) $expr1;
    $expr2 = !in_array($expr2, array('<', '>', '<=', '>=', '==', '!=')) ? '==' : $expr2;

    $i = 0;
    foreach ($expr1 as $current):
        $match = null;
        eval('$match = (bool)("' . $current . '"' . $expr2 . '"' . $expr3 . '");');

        $i = $match ? $i + 1 : $i;
    endforeach;

    return $i;
}

/**
 * Remove a marcação de estilo em tags html, oriundas de um editor de texto por exemplo
 * 
 * @param string $str A string de entrada
 * @return string
 * @link https://gist.github.com/3078188
 * 
 * */
function clearStyle($str)
{
    $str = preg_replace("~<(a|ol|ul|li|h[1-6r]|d[dlt]|em|p|i|b|s|strong|span|div|table|t[dhr])\s?(style.*)?/>~i", "<$1>", $str);

    return $str;
}

/**
 * Converte o caracter de 'Dois Pontos' em uma string
 * 
 * @param string $str A string de entrada
 * @return string
 * 
 * */
function htmlColon($str)
{
    $str = htmlentities($str);
    $str = preg_replace('~[:]~', '&#58;', $str);

    return $str;
}

{'fraction_non_alphanumeric': 0.1786085150571132, 'fraction_numerical': 0.02050882658359294, 'mean_word_length': 3.3438556933483654, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 22, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2320988', 'n_tokens_mistral': 1501, 'n_tokens_neox': 1426, 'n_words': 356}