lengte aan een tekst geven in echo "";

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Richard de Boer

Richard de Boer

28/02/2012 22:44:20
Quote Anchor link
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
 
PHP hulp

PHP hulp

22/12/2024 20:23:34
 
Wouter J

Wouter J

28/02/2012 22:48:31
Quote Anchor link
Allereerst moet je variabele buiten quotes zetten, dus niet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?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 substr.
Een string verlengen totdat het een bepaalde lengte heeft moet je zelf een functie voor schrijven, deze bestaat niet in PHP>
 
PH Piet

PH Piet

28/02/2012 22:49:26
Quote Anchor link
Zo is je tekst maar 20 tekens lang
$sTekst = substr(""$TXTtekst[0]", 0, 20);
 
Bart V B

Bart V B

28/02/2012 22:53:58
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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...
?>
 
Richard de Boer

Richard de Boer

28/02/2012 23:07:31
Quote Anchor link
@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
 
Bart V B

Bart V B

28/02/2012 23:15:13
Quote Anchor link
Quote:
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().

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$text
= "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");

echo $newtext;
?>
 
Bas  van de Steeg

Bas van de Steeg

29/02/2012 06:11:53
Quote Anchor link
Kun je dit niet beter met HTMl,CSS oplossen ?
 
Erwin H

Erwin H

29/02/2012 08:49:37
Quote Anchor link
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
 
Wouter J

Wouter J

29/02/2012 09:47:20
Quote Anchor link
@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.
 
Richard de Boer

Richard de Boer

03/03/2012 16:32:22
Quote Anchor link
dit is de code op de website
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?
                $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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
#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

Toevoeging op 04/03/2012 15:28:11:

#bump

Toevoeging op 04/03/2012 15:30:12:

#bump
Gewijzigd op 03/03/2012 16:33:58 door Richard de Boer
 
Richard de Boer

Richard de Boer

05/03/2012 19:24:24
Quote Anchor link
#bump
 
Richard de Boer

Richard de Boer

08/03/2012 19:31:07
Quote Anchor link
iemand een idee?
 
Richard de Boer

Richard de Boer

14/03/2012 19:23:16
Quote Anchor link
Niemand die mij verder kan/wil helpen?
 
Erwin H

Erwin H

14/03/2012 19:31:45
Quote Anchor link
Ik zie dat je "pre" tags gebruikt. Haal die eens weg.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.