- Home
- Categorie
- Coding e Sistemistica
- PHP
- Sostituzione parole
-
Sostituzione parole
Salve, 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 variabileA 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'