replace multiplo su una stringa
a me servirebbe poter cambiare + termini e non uno solocodice:$content = str_replace("happiness", "happiness", $row['content']);
![]()
replace multiplo su una stringa
a me servirebbe poter cambiare + termini e non uno solocodice:$content = str_replace("happiness", "happiness", $row['content']);
![]()
Tanto...lo fanno tutti... posso farlo anche io vero?
quanti ne vuoi? :P puoi lanciarlo a ripetizione comunqueCodice PHP:
$content = str_replace("happiness", "[b]happiness[/b]", $row['content']); // 1
$content = str_replace("happiness", "[b]happiness[/b]", $row['content']); // 2
$content = str_replace("happiness", "[b]happiness[/b]", $row['content']); // 3
$content = str_replace("happiness", "[b]happiness[/b]", $row['content']); // 4
![]()
Guarda il manuale online e vedrai tu stesso come sia possibile fare sostituzioni multiple tramite array.Originariamente inviato da -AA-
replace multiplo su una stringa
a me servirebbe poter cambiare + termini e non uno solocodice:$content = str_replace("happiness", "happiness", $row['content']);
![]()
Quello che vorrei fare è il replace di circa 100 termini dentro un testo,
facendo così mi toccherebbe scrivere 100 replace, cercavo 1 modo "diverso" se possible
nel cercare ho trovato questo
c'è qualcosa di meglio?codice:$string = 'The quick brown fox jumped over the lazy dog.'; $patterns = array('/quick/','/brown/','/fox/'); $replacements = array('slow','black','bear'); echo ' '.preg_replace($patterns, $replacements, $string).'</p>';
Tanto...lo fanno tutti... posso farlo anche io vero?
Riapro questa discussione perchè sono in "alto mare"
partendo da questo script:
Ho fatto una cosa di questo tipocodice:$string = 'The quick brown fox jumped over the lazy dog.'; $patterns = array('/quick/','/brown/','/fox/'); $replacements = array('slow','black','bear'); echo ' '.preg_replace($patterns, $replacements, $string).'</p>';
e questo è il risultatocodice:$sql_text = "SELECT * FROM pagine WHERE nome_pagina = '$ric_nome_pagina'"; $result_text = mysql_query($sql_text); $row_text = mysql_fetch_array($result_text); $sql_keywords = "SELECT * FROM parole"; $result = mysql_query($sql_keywords); $num_keywords = mysql_num_rows($result); $conta = 0; while ($row = mysql_fetch_array($result)) { $conta++; if($conta == $num_keywords){ $paroleA = $paroleA.'"/'.$row['parola'].'/" '; $paroleB = $paroleB.'"'.$row['cambia_in'].'" '; }else{ $paroleA = $paroleA.'"/'.$row['parola'].'/", '; $paroleB = $paroleB.'"'.$row['cambia_in'].'", '; }} $string = $row_text['content']; $patterns = array($paroleA); $replacements = array($paroleB); $content = ' '.preg_replace($patterns, $replacements, $string).'</p>';
Warning: preg_replace() [function.preg-replace]: Unknown modifier ','
![]()
Tanto...lo fanno tutti... posso farlo anche io vero?
non son sicuro, ma puoi provare a fare una cosa simile?
vediamo se così ti dà errori o_OCodice PHP:
$content = preg_replace($patterns, $replacements, $string);
Cambiato Nada![]()
Tanto...lo fanno tutti... posso farlo anche io vero?
è possibile che non gli piacciano gli array in quella funzione... ma se te mettessi una cosa simile? (sia chiaro che è solo un'esempio)
fai il preg_replace per ogni riga a database in automatico, quindi le metti dentro il while![]()
Uhmm...così pare funzionare
codice:while ($row = mysql_fetch_array($result)) {$content = str_replace($row['parola'], $row['cambia_in'], $content);}
Tanto...lo fanno tutti... posso farlo anche io vero?
dai, lieto di esserti stato utilemagari non è il codice migliore ma almeno servo a qualcosa lol
![]()