Pagina 1 di 1

uso del str_replace problematico

Inviato: 05 apr 2016, 00:33
da rino
Magari ad altri potrebbe servire o forse hanno risolto il problema ed allora sono curioso.

Mi riferisco all uso della funzione str_replace nativa, SC ne ha una similare?.

Ho dei testi che al loro interno prevedono delle variabili (segnaposto) da sostituire a tempo di esecuzione. Diciamo una cosa simile alla base di SC .
A suo tempo ho stabilito come delimitatore i caratteri [ e ] per deifnire i segnaposti, su SC corrispondono alla dichiarazione di variabile globale.
ecco un istruzione :
$testo = str_replace("[tito_ragsoc]" , {tito_ragsoc} , $testo);
Ho notato con disappunto che SC non opera in modo corretto se i delimitarori sono [ ].
Difatti eseguendo :
$testo = str_replace("tito_ragsoc", {tito_ragsoc} , $testo);

funziona.

Possibile? esiste un modo per fregarlo? credo che si metta in confuzione con i suoi segnaposto ;
vorrei evitare di rigenerare i testi base , ma posso sempre farlo.

Re: uso del str_replace problematico

Inviato: 05 apr 2016, 10:10
da mhanu70
non so aiutarti ma se pensi che sia un bug o pensi che possa essere migliorato, io lo segnalerei.
Da quello che vedo sc è un ambiente molto complesso rispetto ad altri RAD ma proprio per questo è migliorabile ancora molto, sono certo che diversi Bug o meglio "eccezioni" vadano gestite ancora.

Re: uso del str_replace problematico

Inviato: 05 apr 2016, 11:51
da rino
diciamo che qui siamo al limite , anche se in effetti un istruzione nativa deve poter funzionare senza alcun vincolo di sorta . non milti usato la tecnica dei "segnaposto" e non tutti usano il carattere "[" o "]" per saegnarli , però..... :shock:

Re: uso del str_replace problematico

Inviato: 06 apr 2016, 08:58
da Fabio
CIao,
poichè scriptcase fornisce una serie di metodi propri, bisogna considerare che il php in ambiente scriptcase ha qualche parola "inutilizzabile" in più, rispetto al php standard (che ha già le sue..). Tra questi sicuramente le stringe tra quadre, che SC utilizza per le variabili di sessione.
Se proprio non puoi utilizzare un segnaposto diverso (ma credo sia sempre possibile), esiste un "barbatrucco" che dovrebbe funzionare:

Codice: Seleziona tutto

$stringa = "["."tito_ragsoc]";
$testo = str_replace($stringa, {tito_ragsoc} , $testo); 

Re: uso del str_replace problematico

Inviato: 06 apr 2016, 23:55
da rino
e lo so Fabio , peccato che ho un momento di doppia gestione , ambiente vecchio e nuovo nello stesso momento . Ma va bene , ero solo un po sorpreso , onestamente ci ho messo un oretta per capire il problema , questo la dice lunga su quanto stia diventando vecchio :twisted: