Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: substr()

Sivun loppuun

MIB [20.08.2009 19:53:38]

#

Tarvitsisi siis katkaista merkkijono aina viiden 5 merkin jälkeen.
Näin saan eroteltua ensin viisi, sitten väli ja loppu putkeen.

<?php
$string = "abcdefghijklmnopqrstuvwxyeåäö";
$string = utf8_decode($string);

if(strlen($string) >= 5) {
	echo substr($string, 0, 5);
	echo " " . substr($string, 5);
}

?>

Mitä pitäisi korjata (minkälainen for silmukka), että tuo toimisi?
Esim. $string = "12345123451234512345" ja tulostus "12345 12345 12345 12345"

Metabolix [20.08.2009 20:03:41]

#

Vaihda iffin tilalle while, ja sen sijaan, että tulostaisit loput, sijoita se tekstiksi ja jatka silmukkaa. Toinen (helpompi) vaihtoehto on str_split-funktio.

peg [20.08.2009 20:18:41]

#

käykö tämä

<?php
$text = "12345123451234512345";
$newtext = wordwrap($text, 5, "<br />\n", true);

echo "$newtext<br />\n";
?>

Antti Laaksonen [20.08.2009 21:23:00]

#

Vielä yksi tapa mahtunee mukaan:

<?php
$teksti = "saippuakauppias";
for ($i = 0; $i < strlen($teksti); $i += 5) {
    echo substr($teksti, $i, 5) . " ";
}
?>

MIB [21.08.2009 13:30:29]

#

Tuota for-silmukkaa kaipasinkin, kiitos Antti.

Ps. Voisitko kertoa mitä merkintä $i += 5 merkitsee?

Chiman [21.08.2009 13:31:53]

#

Se kasvattaa $i:n arvoa viidellä. On sama kuin $i = $i + 5;

Juhko [21.08.2009 13:55:04]

#

$a = $a + $b$a += $b
$a = $a - $b$a -= $b
$a = $a * $b$a *= $b
$a = $a / $b$a /= $b
$a = $a + 1$a++
$a = $a - 1$a--
$a = $a + 1++$a
$a = $a - 1--$a

MIB [21.08.2009 13:56:30]

#

Kiitos


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta