php operazioni con le stringhe 1


Vediamo oggi le funzioni standard per eseguire buona parte delle operazioni sulle stringhe con php.

IMP : bisogna ricordarsi che le stringhe in php sono molto simili al c e quindi non sono alto che un vettore di caratteri con il primo indice = 0.

Le funzioni principali sono:

int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) -> data una stringa ricerca una seconda stringa al suo interno, restituisce il valore booleano FALSE nel caso in cui l’elemento non è presente, valore da confrontare con === false es: $pos = strpos(“stringa”, “tr”) -> restituisce 1 perché la numerazione parte da 0. La stessa funzione è stata implementata in c.

string trim ( string $str [, string $charlist ] ) -> elimina gli spazi estremi della stringa es: $str = trim(” ciao “) -> restituisce “ciao”

int strlen ( string $string ) -> lunghezza della stringa è come il count() dei vettori quindi restituisce la posizione dell’ultimo elemento +1 es: $len = strlen(“ciao”) -> restituisce 4

string substr ( string $string , int $start [, int $length ] ) -> ritorna una porzione di stringa partendo da un punto(indice), se il valore è negativo corrisponde all’indice partendo da destra in cui il primo valore è -1, quindi -1 = strlen($str)-1; restituisce fino alla fine o fino a tot caratteri es: $str = substr(“ciao”, 2) -> ritorna “ao” o $str = substr(“ciao”, 2,1) -> ritorna “a” o $str = substr(“ciao”, -3,2) -> ritorna “ia”

array explode ( string $delimiter , string $string [, int $limit ] ) -> che ritorna un array contenendo vari elementi della stringa usando come divisore il primo parametro

string implode ( string $glue , array $pieces ) -> il contrario di implode riunisce il vettore in un unica stringa usando come delimitatore il primo parametro

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) -> data una stringa(terzo parametro) cerca all’interno il primo parametro e lo sostituisce con il secondo parametro, i primi due argomenti possono essere sostituiti anche da due array come avviene ad esempio su http://www.thecsea.it/tutorial/2010/07/caratteri-speciali-php/ es: $str = str_replace(“cioa”, “ciao”, ” cioa”) -> ritorna ” ciao”. questa funzione può anche essere usata ad esempio nella sostituzione dei bbcode in tag : $str = str_replace(array(“[b]”,”[/b]”),array(““,”“),”[b]ciao[/b]”)

string strtolower ( string $str ) e string strtoupper ( string $string ) -> che restituiscono rispettivamente la stringa tutta in minuscolo e tutta in maiuscolo

Queste sono le funzioni principali, poi c’è ne sono altre facilmente riproducibili con queste, ad esempio :
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] ) -> restituisce la porzione di stringa che inizia dalla prima occorrenza del secondo parametro può essere sostituita da substr($haystack, strpos($needle))

Tutte queste funzioni possono essere riprodotte a basso livello considerando la stringa come un vettore di caratteri, ad esmepio:

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) -> implode($replace, explode($search, $subject)) -> in questo caso i parametri devono essere per forza delle stringhe

oppure

string substr ( string $string , int $start [, int $length ] )

function substr_p($string, $start, $length = false){
	$len = strlen($string);
	
	if($start<0)
		$start = $len+$start;
	   
	if($length===false)
		$length = $len;
	else
		$length += $start;
	
	$return = "";
	for($i=$start;$i<$len && $i<$length;$i++)
		$return .= $string[$i];
	
	return $return;
}

oppure

string strtolower ( string $str ) e string strtoupper ( string $string )

function strtolower_p($str){
    $len = strlen($str);
    for($i=0;$i<$len;$i++)
          if($str[$i]>="A"&&$str[$i]<="Z")
              $str[$i] = str[$i]-'a'+'A';
}

function strtoupper_p($str){
    $len = strlen($str);
    for($i=0;$i<$len;$i++)
          if($str[$i]>="a"&&$str[$i]<="z")
              $str[$i] = str[$i]-'A'+'a';
}

La spiegazione specifica di questi metodi alternativi non è obbiettivo di questa guida, si può vedere un esempio in c di queste funzioni su http://www.thecsea.it/tutorial/2010/07/strtoupper-e-strtolower-in-c/.

CC BY-SA 4.0 php operazioni con le stringhe by cardinale claudio is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.


Lascia un commento

Un commento su “php operazioni con le stringhe