Pitäisi merkkijonosta etsiä kaksoispiste-merkit, ja jos sen edellä on sama sana kuin sen jälkeen, niin ensimmäisen sanan eteen pitää lisätä rivinvaihtomerkki \n.
Esim jos merkkijono on:
Tämä on tällainen: tällainen esimerkki: vain mutta: ehkä joku: joku: ymmärtää, mitä: minä: minä tarkoitan
Niin lopputulos pitäisi olla:
Tämä on \n
tällainen: tällainen esimerkki: vain mutta: ehkä \n
joku: joku: ymmärtää, mitä: \n
minä: minä tarkoitan
Esim jos merkkijono on:
Tämä on tällainen: tällainen esimerkki: vain mutta: ehkä joku: joku: ymmärtää, mitä: minä: minä tarkoitan
Niin lopputulos pitäisi olla:
Tämä on \n
tällainen: tällainen esimerkki: vain mutta: ehkä \n
joku: joku: ymmärtää, mitä: \n
minä: minä tarkoitan
Vastaukset 2
Vanhimmat
Nopsaan pohdittuna olisiko explode:sta tai split:sta apua? Voisiko jakaa osiin valilyontien avulla,
http://fi.php.net/manual/en/function.explode.php tarkistaa jokaisen viimeinen merkki (joku string-funktioista, ellei paase suoraan kasiksi http://fi.php.net/manual/en/ref.strings.php) ja sitten lisailla rivinvaihtoja? Ja sitten kasata takaisin paloista..
Tuo manuaali ja sen esimerkit ovat aika hyvia.
Jos tykkää regexpeistä, myös seuraava yhden komennon ratkaisu onnistuu:
$testi = "Tama on tallainen: tallainen esimerkki: vain mutta: ehka joku: joku: ymmartaa, mita: mina: mina tarkoitan";
$out = preg_replace('/(\S ):(\s*)\1/', "\n$1:$2$1", $testi);
echo("$out\n");
// =>
// Tama on
// tallainen: tallainen esimerkki: vain mutta: ehka
// joku: joku: ymmartaa, mita:
// mina: mina tarkoitan