Extra enter tijdens openen van tekst in tekstbox

Status
Niet open voor verdere reacties.

the_dannyboy

Gebruiker
Lid geworden
2 jan 2002
Berichten
968
Hey iedereen!

Ik zit met een probleempje in m'n php code:
Ik heb tekst die dmv een tekstbox op een pagina in een mysql database wordt opgeslagen.
Deze tekst wordt dan weer in een tekstbox geopend zodat je 'm weer kunt bewerken. Nu is dus het probleem dat iedere keer als de tekst in de tekstbox wordt gezet er een regel onderaan wordt toegevoegd.

Dus wanneer ik iets in het midden van de tekst verander en deze dan opsla door op OK te drukken, dan wordt er bij het opnieuw openen van deze tekst in een tekstbox een regel toegevoegd. En dit blijft zich dan zo herhalen bij iedere keer dat ik hem opsla.

Is er een php code om te zorgen dat deze laatste 'enter' weggehaald wordt tijdens het openen van de tekst in een tekstbox?
 
lukt niet echt...

Ik heb ltrim($tekst, "\n") geprobeerd en nog wat dingen meer, maar die enter blijft ie geven aan het einde van de tekst...
 
Jij weer ? :p :D

Long to no see :eek:

Misschien word die 'enter' er wel geplaatst maar niet in de db opgeslagen. Of je voert tijdens het opslaan in de db trim(); uit of tijdens het ophalen :)
 
in de database wordt hij idd niet opgeslagen, dus wordt hij bij het openen van de tekst toegevoegd...
 
En tijdens het ophalen van de informatie uit de db pas je trim toe ?
 
Toon eens wat code van hoe je 't in die textbox laat zien ?

Ik zei btw trim(), niet ltrim() ;)
ltrim() haalt de whitespace aan 't begin van de string weg, oftewel dan blijft die enter aan 't eind d'r ;)
 
PHP:
    <textarea name="log" cols="124" rows="18" value="log">
<?
$connect = mysql_connect ("localhost","...", "...") or die ("Kon geen verbinding met MySQL Server tot stand brengen. MySQL error: " . mysql_error());
mysql_select_db("...",$connect) or die("Kon geen verbinding maken met database. MySQL error: " . mysql_error());

$query = "SELECT * FROM Teksten WHERE Page LIKE '%titel%' LIMIT 0,30";
$result = mysql_query($query) or die("Kon query niet uitvoeren: " . mysql_error());
  if(mysql_num_rows($result) == 0)
  {
  echo "No Record Found, to search again please close this window";
  }
  else
  {
    while ($row = mysql_fetch_object($result)) 
    { 
	$tekst = $row->Text;
	print $tekst;
    }
  }
?> 
</textarea>

Ik dacht dat ltrim juist voor het einde was, en rtrim voor het begin...:confused:
 
[PHPGeplaatst door the_dannyboy
<textarea name="log" cols="124" rows="18" value="log">
<?
$connect = mysql_connect ("localhost","...", "...") or die ("Kon geen verbinding met MySQL Server tot stand brengen. MySQL error: " . mysql_error());
mysql_select_db("...",$connect) or die("Kon geen verbinding maken met database. MySQL error: " . mysql_error());

$query = "SELECT * FROM Teksten WHERE Page LIKE '%titel%' LIMIT 0,30";
$result = mysql_query($query) or die("Kon query niet uitvoeren: " . mysql_error());
if(mysql_num_rows($result) == 0)
{
echo "No Record Found, to search again please close this window";
}
else
{
while ($row = mysql_fetch_object($result))
{
$tekst = $row->Text;
print trim($tekst);
}
}
?>
</textarea>[/PHP]

Ik dacht dat ltrim juist voor het einde was, en rtrim voor het begin...:confused:

Ik zie nergens trim staan ?

Anyways, hierboven de verbeterde (??) versie :p

edit: waarom gebruik je daar echo, en weer ergens anders print ?
 
Laatst bewerkt:
dit was idd de code zonder trim, zodat jullie konden aanwijzen waar ik die neer moest zetten.

Waarom al die b's rondom die trim?
 
Eerst een kort verhaal over het oude typmachine en later het TTY apparaat dat aan een computer werd (met ponsband) gekoppeld, bijna te vergelijken met het toetsenbord van nu.

Als je met zo'n apparaat iets intypt en je aan het einde v.d. regel zit, dan zet je de carriage weer terug (return) en vervolgens draai je aan een knop(rechtsgelegen v.h. apparaat) om zo een nieuwe regel te kunnen invoegen (line feed) om verder te kunnen gaan met het typen v.d. tekst.

De woorden "carriage return" en "line feed" komen respectievelijk overeen met de ascii-codes 13 en 10, en in PHP met \r en \n

Heb je dan trim($tekst, "\rn") al geprobeerd?

Dennis.
 
Geplaatst door the_dannyboy
trim($tekst, "\rn") werkt ook niet...
Ja , de backward-slash (\) wordt gebruikt om aan te geven, dat niet het karakter wat achter de backward-slash staat wordt bedoeld, dus met \n wordt de letter n niet bedoeld, maar een interne opdracht voor de computer voor een nieuwe regel.

Kortom, het zou dan zo moeten zijn:
trim($tekst, "\r\n")

Dennis.

ps. ik laat maar aan de php experts over, over dit probleem.
 
PHP:
while ($row = mysql_fetch_object($result)) 
{ 
   $tekst = $row->Text; 
   /* En als je hieronder even een tussen */
   /* variabele gebruikt?                 */
   $getrimde_tekst = trim($tekst, "\r\n");
   print $getrimde_tekst; 
}

Dennis.
 
Geplaatst door the_dannyboy
nope...
Alweer niet. :(

Beste Danny,

JPeetje en masterprut zijn er op dit moment niet meer aanwezig, je kunt het beste bij hen te rade gaan.

Moet zo weg namelijk.

Dennis.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan