Ciao,
vorrei sapere come posso impostare una regular expression per far diventare la stringa
m(+io)p(+u)
in
*(+io)*(+u)
Saluti,
carlostefano
Ciao,
vorrei sapere come posso impostare una regular expression per far diventare la stringa
m(+io)p(+u)
in
*(+io)*(+u)
Saluti,
carlostefano
Potresti descrivere meglio quello che vuoi fare?
Cosi' come è descritta ora, la richiesta può essere risolta con un semplice http://www.php.net/str_replace
Quello che intendo ottenere è appunto di far diventare un asterisco ogni carattere che sta al di fuori delle parentesi, in cui quella di apertura viene seguita da un segno +.
<?php
function replace($matches) {
return str_repeat('*', strlen($matches[1])) . '(+';
}
$content = 'mss(+io)p(+u)xxx(xxx)';
$pattern = '#([^\)\(]*)\(\+#si';
$result = preg_replace_callback($pattern, 'replace', $content);
print($result);
?>
Grazie ma così facendo se ad esempio gli passo la stringa mss(+io)p(+u)456(dfg)ghj ottengo ***(+io)*(+u)456(dfg)ghj invece di ***(+io)*(+u)***(***)***