Login   Register  
PHP Classes
elePHPant
Icontem

File: sClassHTML/include/string_conversion.inc.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Dario Mazzeo  >  sClassHTML  >  sClassHTML/include/string_conversion.inc.php  >  Download  
File: sClassHTML/include/string_conversion.inc.php
Role: Auxiliary script
Content type: text/plain
Description: Funzioni per la conversione di stringhe
Class: sClassHTML
Compose HTML pages programmatically
Author: By
Last change: corrette le conversioni per str_url().
Date: 2008-06-24 02:14
Size: 4,962 bytes
 

Contents

Class file image Download
<?php
/**
 *  Funzioni di conversione per le stringhe
 * 
 * @author Dario Mazzeo <dmazzeo@ingele.com>
 * @version 1.0.0
 * @copyright Freesoftware Italia - www.freesoftwareitalia.it
 */ 

/**
 *  Questa funzione converte una stringa dal formato PHP/C al formato HTML
 *     
 *  @param string $string Stringa in formato PHP/C
 *  @return string Ritorna la stringa convertira in formato HTML     
 */    
function str_html($string){
$str="";
for (
$i=0$i<strlen($string); $i++){
  if (
ord($string[$i])==92){
    switch (
ord($string[++$i])){
      case 
34$str.="&quot;"; break;
      case 
39$str.="&#39;";  break;
      case 
92$str.="\\"; break;       
    }
  }
  else{
    switch (
ord($string[$i])){  
      case 
38$str.="&amp;"; break;
      case 
39$str.="&#39;";  break;
      case 
60$str.="&lt;"; break;
      case 
62$str.="&gt;"; break;        
      case 
94$str.="&circ;"; break;
      case 
126$str.="&tilde;"; break;
      case 
128$str.="&euro;"; break;   
      default: 
$str.=$string[$i];
    }
    
//$str.=$string[$i]; //cancellare se si abilita lo switch!
  
}
}    
return 
$str;
}

/**
 *  Questa funzione converte una stringa dal formato HTML al formato PHP/C
 *   
 *  @param string $string Stringa in formato HTML
 *  @return string Ritorna la stringa convertira in formato PHP/C     
 */   
function html_str($string){
$string=str_replace("&quot;""\""$string);
$string=str_replace("&#39;""\'"$string);
$str="";
for (
$i=0$i<strlen($string); $i++){
  if (
ord($string[$i])==92$i++;
  
$str.=$string[$i];
}
return 
$str;
}

/**
 *  Questa funzione converte una stringa dal formato PHP/C al formato URL
 *     
 *  @param string $string Stringa in formato PHP/C
 *  @return string Ritorna la stringa convertira in formato URL
 */   
function str_url($string){
$str="";
for (
$i=0$i<strlen($string); $i++){
  if (
ord($string[$i])==92){
    switch (
ord($string[++$i])){
      case 
34$str.="&quot;"; break;
      case 
39$str.="&#39;"; break;
      
//case 92: $str.="%5C"; break;        
    
}
  }
  else{
    switch (
ord($string[$i])){  
      
//case 32: $str.="%20"; break;
      
case 38$str.="&amp;"; break;
      
//case 46: $str.="%2E"; break;
      
case 60$str.="&lt;"; break;
      
//case 61: $str.="%3D"; break;
      
case 62$str.="&gt;"; break;  
      
//case 63: $str.="%3F"; break;      
      
case 94$str.="&circ;"; break;
      case 
126$str.="&tilde;"; break;
      case 
128$str.="&euro;"; break;   
      default: 
$str.=$string[$i];
    }
  }
}    
return 
$str;
}

/**
 *  Questa funzione converte una stringa dal formato PHP/C al formato ASCII
 *     
 *  @param string $string Stringa in formato PHP/C
 *  @return string Ritorna la stringa convertira in formato ASCII
 */   
function str_ascii($string){
$str="";
for (
$i=0$i<strlen($string); $i++)
  
$str.=ord($string[$i])." ";
return 
$str;
}

/**
 * Questa funzione applica al'intero array la funzione passata 
 *
 * Esempio:
 * 
 * <code>
 * $campi[] = array('valore1-1', 'valore1-2', 'valore1-3');
 * $campi[] = array('valore2-1', 'valore2-2', 'valore2-3');
 * $campi[] = array('valore3-1', 'valore3-2', 'valore3-3');
 * str_array($campi, str_html);
 * </code>
 * 
 * @param string[][] $string Array da esaminare
 * @param function $function Funzione da applicare
 */
function str_array(&$string$function){
    for (
$i=0$i<count($string); $i++){
        for (
$j=0$j<count($string[$i]); $j++){
            
$string[$i][$j]=$function($string[$i][$j]);
        }
    }
}

/**
 * Questa funzione consente di convertire la data da un formato all'altro
 *
 * Esempio:
 * 
 * <code>
 * $data_or = '2005-12-31';
 * $data_dest = str_date($data_or, '-', '/', '321');
 * echo $data_dest;  // 31/12/2005
 * </code>
 * 
 * @param string $data Data da convertire
 * @param string $separator_or Carattere di separazione di origine
 * @param string $separator_dest Carattere di separazione di destinazione
 * @param string $order Formato in cui ordinare la data
 * @return string
 */
function str_date($data$separator_or='-'$separator_dest='/'$order='321'){
    list (
$d[1], $d[2], $d[3]) = explode ($separator_or$data);
      return (string) 
$d[(int)$order[0]].$separator_dest.
                      
$d[(int)$order[1]].$separator_dest.
                      
$d[(int)$order[2]];        
}

/**
 * Questa funzione restituisce l'importo in formato euro
 *
 * Esempio:
 * 
 * <code>
 * $valore = 12345.67;
 * echo str_euro($valore);  // € 12.345,67
 * 
 * $valore = 12345.67891;
 * echo str_euro($valore, '€ ', 4); // € 12.345,6789
 * </code>
 * 
 * @param float $valore Importo
 * @param string $valuta Carattere di valuta
 * @param int $num_decimal Numero di cifre significative dopo la virgola
 * @return string
 */
function str_euro($valore$valuta='€ '$num_decimal=2){
    return 
$valuta.number_format($valore$num_decimal',','.');
}
?>