Hallo beste mensen,

Mijn vraag is als volgt.

Ik heb een echo

echo "$TXTtekst[0]";

Kan ik de tekst die eruit gaat een bepaalde lengte mee geven?

Groet Rieksie
Allereerst moet je variabele buiten quotes zetten, dus niet:
<?php
echo "$foo";
echo "Hello $name";

// maar
echo $foo;
echo 'Hello '.$name;
?>

En een bepaalde lengte. Bedoel je dat als iets te lang is het wordt afgekapt? Dan moet je eens kijken naar [php]substr[/php].
Een string verlengen totdat het een bepaalde lengte heeft moet je zelf een functie voor schrijven, deze bestaat niet in PHP>
Zo is je tekst maar 20 tekens lang
$sTekst = substr(""$TXTtekst[0]", 0, 20);

<?php
function afkorten($var, $lengte) {
  $ret = $var;
  if (strlen($ret) > $lengte) {
    $ret = substr($ret, 0, $lengte-3)."...";
  }
  return $ret;
}
?>

<?php
$string = "deze string is wat te lang";
echo afkorten($string,10);
//resultaat: deze st...
?>

@Wouter PH Piet Bart

Zal mijn verhaal uitleggen.

Als ik tekst invoer in een cms gaat alles nog goed.
alleen als ik kijk op de website gaat de tekst buiten een kader.

Dus wat ik graag zou willen is.

De tekst een lengte meegeven maar die moet dan wel weer op de volgende regel verder gaan.

Is zoiets mogelijk?

Rieksie

alleen als ik kijk op de website gaat de tekst buiten een kader.


Dan zal je denk ik een vaste width waarde mee moeten geven aan de div waar de content zichtbaar moet worden.
Anders heb je ook nog wordwrap().


<?php
$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");

echo $newtext;
?>
Kun je dit niet beter met HTMl,CSS oplossen ?
Wouter J op 28/02/2012 22:48:31
Een string verlengen totdat het een bepaalde lengte heeft moet je zelf een functie voor schrijven, deze bestaat niet in PHP>

Als je het over lengte in pixels hebt heb je uiteraard gelijk, maar als je het over een lengte in characters hebt dan bestaat er wel een functie voor:
http://www.php.net/manual/en/function.str-pad.php

@Richard, kun je misschien wat CSS en HTML code van die div waarin de tekst staat geven? Dan kunnen we je beter helpen.

@Erwin, dat wist ik niet, bedankt.
dit is de code op de website

<?
				$sql = "SELECT * FROM `cpl_txts` WHERE `kpplnr` = '0001' AND `userrights` = 'administrator'";
$result = mysql_query($sql);

while($row = mysql_fetch_assoc($result))
{
	$TXTtekst[] = $row["text"];
	$TXTactive[] = $row["active"];
}

/* Als een pagina niet actief is ingesteld. */
if($TXTactive[0] != "Nee")
{
	//-- border=1 vervangen door border=0 en border=2 door border=1
	$TXTtekst[0] = str_replace("border=\"1\"", "border=\"0\"", $TXTtekst[0]);
	$TXTtekst[0] = str_replace("border=\"2\"", "border=\"1\"", $TXTtekst[0]);

	//-- Vanuit de CPlog zit er een irri  in die replace ik hier
	$TXTtekst[0] = str_replace("Â", "", $TXTtekst[0]);
	$TXTtekst[0] = str_replace("é", "é", $TXTtekst[0]);
	$TXTtekst[0] = str_replace("Iï", "ï", $TXTtekst[0]);
	$TXTtekst[0] = str_replace("ö", "ö", $TXTtekst[0]);

	 $newtext = wordwrap($TXTtekst[0], 150, "\n");

      echo $newtext;
}

?>


Hier het stukje css

#text { margin: 0 7px 0 7px; }
#text pre {  padding:5px; border:2px solid #0095e0; background-color: #ffffff;}
#text li {list-style:none; padding-left:20px; }
#text p { width:812px; text-align: left; line-height: normal; background-color: #ffffff; }


link naar de website is http://www.beatitdrumschool.nl

Als ik tekst invoer in het cms, dan komt het er zo uit.
De zinnen worden heel raar afgekapt.
Maak ik de teksten langer komen ze buiten het blauwe kader terecht.
Hoop dat jullie hier iets mee kunnen

[size=xsmall]Toevoeging op 04/03/2012 15:28:11:[/size]

#bump

[size=xsmall]Toevoeging op 04/03/2012 15:30:12:[/size]

#bump

Reageren