PHP Classes

File: inc/functions.php

Recommend this page to a friend!
  Classes of Pierre-Henry Soria   PHP AJAX Character Counter   inc/functions.php   Download  
File: inc/functions.php
Role: Auxiliary script
Content type: text/plain
Description: Auxiliary script
Class: PHP AJAX Character Counter
Count characters in a text input using AJAX
Author: By
Last change:
Date: 8 months ago
Size: 1,557 bytes
 

Contents

Class file image Download
<?php
/**
 * @author Pierre-Henry Soria <ph7software@gmail.com>
 * @copyright (c) 2012-2014, Pierre-Henry Soria. All Rights Reserved.
 * @license GNU General Public License <http://www.gnu.org/licenses/gpl.html>
 */

define('PH7_ENCODING', 'utf-8');


/**
 * Remove spaces in text.
 *
 * @param string $sText
 * @return integer
 */
function strip_spaces($sText)
{
    return
str_replace(array("\r\n","\r","\s","\t","\n","\s\r\n\t",' ',' ',' ',' ',' ',' '), '', $sText);
}

/**
 * Count the number of sentences.
 *
 * @param string $sText
 * @return integer
 */
function sentence_count($sText)
{
    return
preg_match_all('/(?:[\w,]+[\s]?)(\.|\!|\?)(?!\w)/', $sText, $aMatch);
}

/**
 * Calculate the reading time of text.
 *
 * @param string $sText
 * @param string $iWordPerMin Word per minute. Default: 190
 * @return array ['min' => INTEGER, 'sec' => INTEGER]
 */
function reading_time($sText, $iWordPerMin = 190)
{
   
$sText = str_word_count(strip_tags($sText));
   
$iMin = floor($sText / $iWordPerMin);
   
$iSec = floor($sText % $iWordPerMin / ($iWordPerMin / 60));
    return array(
'min' => $iMin, 'sec' => $iSec);
}

/**
 * Language helper function.
 *
 * @param string $sVar [, string $... ]
 * @return string
 */
function t()
{
   
$sToken = func_get_arg(0);
   
//$sToken = gettext($sToken); // We don't yet have the translation mode
   
for ($i = 1, $iFuncArgs = func_num_args(); $i < $iFuncArgs; $i++)
       
$sToken = str_replace('%'. ($i-1) . '%', func_get_arg($i), $sToken);
    return
$sToken;
}