- Home
- Categorie
- Coding e Sistemistica
- Coding
- Sostituzione parole
- 
							
							
							
							
							
Sostituzione paroleSalve, volevo chiedervi un'altro consiglio prima di andare a dormire  
 Ipotizzando di avere una parola molto lunga, è possibile sostituirne solo una parte? Ad esempio ho la parola "soprammobile" e voglio sostituire solo la parte "ammo".Leggendo sul forum trovato la funzione php str_replace. Sapreste indicarmi qualcosa che possa essermi utile a ottenere ciò? 
 
- 
							
							
							
							
							Ciao the_dream, se ho ben capito, è la soluzione al tuo problema. 
 Trovi degli esempi qui.
 
- 
							
							
							
							
							
Si lo avevo guardato pure io ieri sera dopo aver postato il topic... 
 Il problema è che la mia parola iniziare è composta da una parte fissa e da una varibile, mi spiego con un esempio.[indirizzo:partevariabile] La parte fissa è una parte che conosco ed è ben definita (colore rosso). Mentre la parte variabile è composta da 8 caratteri che vengono generati in modo totalmente casuale dal codice php (colore verde). La parte fissa sono riuscito a farla sostituire, mentre la parte variabile, che dovrei eliminare dalla parola, non so come fare. Esempio pratico: [castelli:9iow9fh5] 
 [castelli:9iow9fh5]
 
- 
							
							
							
							
							
Beh io direi: 
 echo(substr($stringa,0,-8));
 guarda se è quel che vuoi 
 
- 
							
							
							
							
							
Ma a me non serve l'eco  
 Al massimo dovrei legare il tutto a una variabile 
 
- 
							
							
							
							
							Questo dovrebbe fare al caso tuo: $tuavar='[castelli:9iow9fh5]'; $tuavar=preg_replace("/^[([a-zA-Z]+):([a-zA-Z0-9]+)]$/","$1",$tuavar); //restituisce $tuavar='castelli' $tuavar=preg_replace("/^[([a-zA-Z]+):([a-zA-Z0-9]+)]$/","[$1:]",$tuavar); //restituisce $tuavar='[castelli:]'; $tuavar=preg_replace("/^[([a-zA-Z]+):([a-zA-Z0-9]+)]$/","$2",$tuavar); //restituisce $tuavar='9iow9fh5'; ```Ti ho messo 3 istruzioni che estraggono informazioni diverse, scegli quella che estrae la parte che ti interessa e togli (o commenta) le altre. Ciao, Luca Bartoli
 
- 
							
							
							
							
							
Grazie mille Luca per il codice, cosa mi consiglieresti se questa parola si trovasse assieme a delle altre??, cioè: --> [castelli:9iow9fh5] si trova nelle Marche <-- 
 
- 
							
							
							
							
							
@the_dream said: Ma a me non serve l'eco  
 Al massimo dovrei legare il tutto a una variabile A te cos'è che non serve? 
 Se dovevi estrsarre solo la parte "castelli" quello è quello che ti serviva o.O
 Non lo stampi con l'echo ma lo salvi in una varibile.
 Se è in mezzo ad altre parole, devi usare un'espressione regolare
 
- 
							
							
							
							
							I caratteri "^" e "$" in quella stringa strana indicano l'inizio e la fine della stringa. Per far si che vengano considerati testi di quel tipo, a prescindere da dove si trovino (inizio, fine, in mezzo alla stringa) è sufficiente rimuoverli. Per farti un esempio: $tuavar=preg_replace("/^[([a-zA-Z]+):([a-zA-Z0-9]+)]$/","$1",$tuavar); //restituisce $tuavar='castelli' ```diventa:$tuavar=preg_replace("/[([a-zA-Z]+):([a-zA-Z0-9]+)]/","$1",$tuavar); //restituisce $tuavar='castelli'