[PHP] krijg enters niet uit variable van TEXTAREA veld

Pagina: 1
Acties:

Onderwerpen


  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
Beste,

Ik script al een jaar of 4 php en heb nu een probleem die ik nog nooit eerder heb gehad.
Ik heb een form waar mensen via een textarea items toe kunnen voegen met als scheiding een enter.
Het probleem is nu dat het script de data hieruit met \n's in de database stopt.
Ik heb het op deze manieren geprobeerd:
PHP:
1
2
3
<?
$_GET['kleuren']  = str_replace("\n", "", $_GET['kleuren']);
?>

En ook zo:
PHP:
1
2
3
4
<?
$_GET['kleuren']  = nl2br($_GET['kleuren']);
$_GET['kleuren']  = str_replace("<br />", "", $_GET['kleuren']);
?>

En:
PHP:
1
2
3
<?
$_GET['kleuren']  = preg_replace("#([\r\n])[\s]+#", "", $_GET['kleuren']);
?>

Geen hiervan werken :(
De \n's blijven maar in die variable en ik krijg ze er maar niet uit.

Kan iemand me mischien vertellen hoe ik dit eruit krijg ?

[ Voor 18% gewijzigd door chuxiej op 23-12-2004 11:31 ]

www.dannyhiemstra.nl


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

wellicht moet je ook \r er uit halen :)
edit: dat had je zelf ook al gezien :)

[ Voor 38% gewijzigd door Erkens op 23-12-2004 11:32 ]


  • Sjadow_
  • Registratie: December 2001
  • Laatst online: 05-06-2024

Sjadow_

wassup?

heb je de trim() functie al geprobeerd... misschien dat whitespaces de oorzaak zijn?

  • chuxiej
  • Registratie: Februari 2001
  • Laatst online: 13-07-2020
ik heb is str_replace("\r", "", $_IN['kleuren']); geprobeerd ipv preg_replace en dit werkt wel.
Bedankt jongens

p.s. trim werkt niet

[ Voor 24% gewijzigd door chuxiej op 23-12-2004 11:35 ]

www.dannyhiemstra.nl


  • SilencerNL
  • Registratie: Juli 2002
  • Laatst online: 20:56

SilencerNL

No remorse

Ik gebruik zelf dit stukje code, en dat werkt bij mij:
PHP:
1
preg_replace('/[\n\r]/',' ',  $_GET['kleuren'])


succes!

Don't dream your life, live your dreams!


  • Hoppie
  • Registratie: Februari 2001
  • Niet online
Kun je ook iets aan $_GET['kleuren'] toekennen?
Nooit gedaan.
Probeer het resultaat eens aan een andere (nieuwe) variabele toe te kennen?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

chuxiej schreef op donderdag 23 december 2004 @ 11:29:
Ik heb het op deze manieren geprobeerd:
PHP:
1
2
3
<?
$_GET['kleuren']  = str_replace("\n", "", $_GET['kleuren']);
?>
Hier mis je de \r zoals al gezegd
En ook zo:
PHP:
1
2
3
4
<?
$_GET['kleuren']  = nl2br($_GET['kleuren']);
$_GET['kleuren']  = str_replace("<br />", "", $_GET['kleuren']);
?>
nl2br voegt een br-tag toe, maar verwijdert de \n niet.
En:
PHP:
1
2
3
<?
$_GET['kleuren']  = preg_replace("#([\r\n])[\s]+#", "", $_GET['kleuren']);
?>
Door die [\s]+ gaat het niet helemaal goed gok ik zo, want het is een single-line regexp (je hebt geen s-modifier aan het eind) en dus valt \n buiten de \s en dus zoekt ie naar \r OF \n met daarachter een spatie of tab...
Geen hiervan werken :(
De \n's blijven maar in die variable en ik krijg ze er maar niet uit.

Kan iemand me mischien vertellen hoe ik dit eruit krijg ?
De beste is denk ik:
PHP:
1
preg_replace("/(\r|\n|\r\n)/", "", $input

  • Rac-On
  • Registratie: November 2003
  • Niet online
offtopic:
:X :X de waardes in je $_GET aanpassen is echt not-done wat mij betreft...

doet niet aan icons, usertitels of signatures


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Hoppie schreef op donderdag 23 december 2004 @ 11:43:
Kun je ook iets aan $_GET['kleuren'] toekennen?
Nooit gedaan.
Probeer het resultaat eens aan een andere (nieuwe) variabele toe te kennen?
Ja, maar echt netjes is het niet om in die superglobals waarden te gaan schrijven (hoewel _SESSION imho de enige uitzondering vormt).

Anderzijds is het in Java heel gewoon om je request-environment te gebruiken om gegevens door te geven aan de rest van de applicatie.

[ Voor 16% gewijzigd door ACM op 23-12-2004 11:48 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 21-09 02:21

Janoz

Moderator Devschuur®

!litemod

ACM schreef op donderdag 23 december 2004 @ 11:47:
Anderzijds is het in Java heel gewoon om je request-environment te gebruiken om gegevens door te geven aan de rest van de applicatie.
In java heeft je request attributes die je kunt uitlezen en vullen en parameters die je alleen uit kunt lezen en worden gevuld door de post of get vars. Er is dus wel een duidelijk onderscheid tussen beide. Daarnaast is het in Java veel gebruikelijker dat een request door enkele lagen heen gaat die gegevens aan elkaar door kunnen geven. Van filter naar filter naar servlet naar jsp pagina. Dus net als het bij php logisch is om in $_SESSION dingen op te slaan is dat binnen java ook logisch om de attributen van het request te gebruiken.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1