Weer een New Line probleem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bas Matthee

Bas Matthee

07/04/2008 16:12:00
Quote Anchor link
Ik zeg uiteraard eerst weer eventjes hallo!

Hoe is het mogelijk om een nieuwe regel in een text veld in de DB te converteren naar GEEN nieuwe regel. Ik bedoel:

In mijn DB heb ik tekst staan bijv:

Ja
Nee
Misschien
Weet niet

Ik laat mijn klanten zelf een formulier maken, en zij moeten bij een veld met meerdere opties (checkbox, radio, select) één optie per regel typen, zodat ik later kan doen: str_replace('\r\n','\\', $waarde); Zodat ik deze met explode kijkende naar \\ apart in een array kan zetten m.b.t. het genereren van het formulier aan de publieke kant. Echter is het zo dat ze als volgt in de database komen te staan:

Ja\\
Nee\\
Misschien\\
Weet niet

En als ik deze dus uitlees in een form, krijg ik in m'n HTML code dat de code halverwege de <input> tags op een nieuwe regel begint. (geen ramp) maar wanneer ik (waar ik nu mee bezig ben) alle INGEVULDE gegevens van de Database in een CSV bestand zet, geeft ie na die waarden een nieuwe regel met als resultaat dat'm'n CSV vernachelt is EN in exel de indeling ook niet meer klopt.

Dit heb ik geprobeerd:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$options
= str_replace('\r', '', $options);
$options = str_replace('\n', '', $options);
$options = str_replace("\r\n", "", $options);
$options = str_replace("\n\r", "", $options);
?>

zelfs dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$options
= nl2br($options);
$options = str_replace("<br />", "", $options);
?>


Er is NIETS dat die nieuwe regels vervangt, verwijdert of negeert. Wat moet ik doen? Zijn er andere mogelijkheden?
Gewijzigd op 01/01/1970 01:00:00 door Bas Matthee
 
PHP hulp

PHP hulp

22/12/2024 21:09:35
 
- SanThe -

- SanThe -

07/04/2008 16:23:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$options
= str_replace("\r", '', $options);
$options = str_replace("\n", '', $options);
?>

Moet genoeg zijn om alles weg te halen.
 
Bas Matthee

Bas Matthee

07/04/2008 16:28:00
Quote Anchor link
nope, ik heb singlequotes gebruikt, doublequotes, niks dat helpt...
 
- SanThe -

- SanThe -

07/04/2008 16:34:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$options
= str_replace(array(chr(10), chr(13)), '', $options);
?>
 
Bas Matthee

Bas Matthee

07/04/2008 16:40:00
Quote Anchor link
WERKT! How the f***.

Wat voor lettercodes zijn dat? (ik begrijp voor de nieuwe regels, maar hoe weet je dat en HUH?)

Ik bedoel natuurlijk, BEDANKT!!!! SUPERRRRRR!
Gewijzigd op 01/01/1970 01:00:00 door Bas Matthee
 
- SanThe -

- SanThe -

07/04/2008 16:43:00
Quote Anchor link
ASCII.
Dat zijn de ASCII codes voor:
10 = \n
13 = \r
 
Bas Matthee

Bas Matthee

07/04/2008 16:44:00
Quote Anchor link
Nogmaals bedankt!
 
- SanThe -

- SanThe -

07/04/2008 16:48:00
Quote Anchor link
Graag gedaan.

Wil je meer ASCII zien? http://www.asciitable.com/
 
Bas Matthee

Bas Matthee

07/04/2008 16:49:00
Quote Anchor link
Nogmaals bedankt? ;)

PS: Dit is mijn 50e $_POST!!!!! Yeah! Jubileum!!!
07-04-08, zal nooit meer hetzelfde zijn...... snik...
 
Lode

Lode

07/04/2008 18:56:00
Quote Anchor link
SanThe schreef op 07.04.2008 16:48:
Graag gedaan.

Wil je meer ASCII zien? http://www.asciitable.com/


Met die kennis kan je ook stellen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
preg_split('~\x0A?\x0D~U', $var, $match);
echo '<pre>'.print_r($match, true).'</pre>'.PHP_EOL;
?>


wat dan weer makkelijker is misschien om zo te doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
preg_split('~\s+~', $var, $match);
echo '<pre>'.print_r($match, true).'</pre>'.PHP_EOL;
?>
Gewijzigd op 01/01/1970 01:00:00 door Lode
 



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.