Weer een New Line probleem
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)
1
2
3
4
5
6
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);
?>
$options = str_replace('\r', '', $options);
$options = str_replace('\n', '', $options);
$options = str_replace("\r\n", "", $options);
$options = str_replace("\n\r", "", $options);
?>
zelfs dit:
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
Code (php)
1
2
3
4
2
3
4
<?php
$options = str_replace("\r", '', $options);
$options = str_replace("\n", '', $options);
?>
$options = str_replace("\r", '', $options);
$options = str_replace("\n", '', $options);
?>
Moet genoeg zijn om alles weg te halen.
nope, ik heb singlequotes gebruikt, doublequotes, niks dat helpt...
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
Dat zijn de ASCII codes voor:
10 = \n
13 = \r
Nogmaals bedankt!
PS: Dit is mijn 50e $_POST!!!!! Yeah! Jubileum!!!
07-04-08, zal nooit meer hetzelfde zijn...... snik...
SanThe schreef op 07.04.2008 16:48:
Met die kennis kan je ook stellen:
Code (php)
1
2
3
4
2
3
4
<?php
preg_split('~\x0A?\x0D~U', $var, $match);
echo '<pre>'.print_r($match, true).'</pre>'.PHP_EOL;
?>
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)
1
2
3
4
2
3
4
<?php
preg_split('~\s+~', $var, $match);
echo '<pre>'.print_r($match, true).'</pre>'.PHP_EOL;
?>
preg_split('~\s+~', $var, $match);
echo '<pre>'.print_r($match, true).'</pre>'.PHP_EOL;
?>
Gewijzigd op 01/01/1970 01:00:00 door Lode