avendo delle stringe del tipo "Luogo: A. Luogo: B." come faccio a modificarle in "Luogo: A-B." ? Ci sto provando da un pò con le espressioni regolari ma ancora nessun risultato![]()
avendo delle stringe del tipo "Luogo: A. Luogo: B." come faccio a modificarle in "Luogo: A-B." ? Ci sto provando da un pò con le espressioni regolari ma ancora nessun risultato![]()
$a = "Luogo: A";
$b = "Luogo: B";
$a1 = explode(":",$a);
$b1 = explode(":",$b);
$stringa = $a1[0]." ".trim($a1[1])."-".trim($b1[1]);
//non testata
2000 post e sono più vecchio di 4 anni...
grazie a tutti....
la stringa di partenza però è:
$stringa = "Testo. Luogo: A. Luogo: B. Testo"
quindi come faccio? :master:
per ora ho fatto così:
che a funzionare funziona... ma sono certo che si possa fare decisamente meglio... in realtà per ora mi va bene così tanto mi serviva solo per una cosetta, ma mi piacerebbe conoscere il modo corretto di affrontare questo "problema"...codice:eregi("(Luogo:){1}(.)*(Luogo:){1}.*(\.){1}", $stringa, $regs); $a = explode("Luogo:",$regs[0]); $b1 = explode(".",$a[1]); $b2 = explode(".",$a[2]); $sub_str = "Luogo: " . $b2[0] . " - " . $b1[0] ."."; $stringa = str_replace($regs[0], $sub_str, $stringa);
Originariamente inviato da dogo21sob
la stringa di partenza però è:
$stringa = "Testo. Luogo: A. Luogo: B. Testo"
quindi come faccio? :master:Codice PHP:
$stringa = "Testo. Luogo: A. Luogo: B. Luogo: C. Luogo: D. Testo";
$c = explode("Testo.",$stringa);
$a = explode("Luogo:",$c[1]);
$return = "Luogo:";
$mul = 0;
while ($mul <= count($a)) {
$b = explode(".",$a[$mul]);
print_r($b);
$return .= "-".$b[0];
$mul++;
}
echo $return;
Un espressione regolare è di sicuro più elegante.
![]()
I Luoghi sono esattamente 2, quindi sempre e solo A e B (che corrispondono a regione e città) ma il testo è generico, cioè non c'è un testo fisso, quindi mi servirebbe qualcosa che va bene per ogni caso...
A saperla scrivere... :master:Originariamente inviato da Elmapomap
Un espressione regolare è di sicuro più elegante.
![]()
Alla fine di ogni testo c'è un .?Originariamente inviato da dogo21sob
I Luoghi sono esattamente 2, quindi sempre e solo A e B (che corrispondono a regione e città) ma il testo è generico, cioè non c'è un testo fisso, quindi mi servirebbe qualcosa che va bene per ogni caso...
se si basta modificare con $c = explode(".",$stringa);
A e B se cambiano non succede nulla
se crei una funzione e passi le stringhe come argomenti
è abbastanza elegante![]()
2000 post e sono più vecchio di 4 anni...
grazie a tutti....