Hallo,
Ik probeer dubbele enters te verwijderen uit de input die ik krijg via een textarea.
Echter is mijn moeite hiertoe tot nu toe te vergeefs, ik krijg het maar niet voor elkaar om de dubbele enters eruit te halen.
Wat ik nu heb is:
Hier heb ik al veel varianten op geprobeerd, maar krijg het gewoon niet goed, iemand die het wel weer?PHP Code:
<?php
$string = str_replace('\n\n', '\n');
?>
- PHP Dubbele enter
-
11-04-2011, 14:53 #1
- Berichten
- 162
- Lid sinds
- 15 Jaar
PHP Dubbele enter
-
In de schijnwerper
-
11-04-2011, 15:07 #2
- Berichten
- 319
- Lid sinds
- 14 Jaar
Re: PHP Dubbele enter
Probeer dit eens?
PHP Code:<?php
$string = str_replace('\r\n', '\n', $string);
?>
-
11-04-2011, 15:10 #3
- Berichten
- 37
- Lid sinds
- 15 Jaar
-
11-04-2011, 15:12 #4
- Berichten
- 319
- Lid sinds
- 14 Jaar
-
11-04-2011, 15:41 #5
- Berichten
- 162
- Lid sinds
- 15 Jaar
-
11-04-2011, 15:46 #6gast12875 Guest
Re: PHP Dubbele enter
Code:<?php $string = str_replace("\r\n", "\n", $string); ?>
-
11-04-2011, 17:47 #7
- Berichten
- 162
- Lid sinds
- 15 Jaar
-
11-04-2011, 18:40 #8
- Berichten
- 625
- Lid sinds
- 19 Jaar
Re: PHP Dubbele enter
Ik denk dat je eerder iets moet doen als:
str_replace("\r\n\r\n", "\r\n");
-
11-04-2011, 20:28 #9
- Berichten
- 162
- Lid sinds
- 15 Jaar
Re: PHP Dubbele enter
Danku!
Het werkt nu (deels)
Hij filtert het er al uit, alleen houd nu om een of andere rede als hij het aantal enters verkleint niet alle dubbele weg, maar houd er 2 over, maargoed, dat is niet erg!
Ik heb nu:
$string = str_replace("\r\n\r\n", "\r\n", $string);
Iedereen bedankt!
-
11-04-2011, 20:43 #10
- Berichten
- 376
- Lid sinds
- 18 Jaar
Re: PHP Dubbele enter
fout gelezen.
-
11-04-2011, 20:47 #11
- Berichten
- 625
- Lid sinds
- 19 Jaar
Re: PHP Dubbele enter
Dat komt omdat zo'n bewerking in dit geval maar 1x wordt uitgevoerd. Heb je bv 3 newlines achter mekaar (2 + 1) dan zal dit vervangen worden door 1 + 1 = 2 newlines.
-
11-04-2011, 21:15 #12
- Berichten
- 349
- Lid sinds
- 15 Jaar
Re: PHP Dubbele enter
Dus gewoon laten loopen tot het niet meer voorkomt... simpel...
-
11-04-2011, 21:52 #13
- Berichten
- 207
- Lid sinds
- 16 Jaar
Re: PHP Dubbele enter
Zou je niet gewoon nl2br gebruiken en controlleren op <br /><br />? Is een stuk veiliger, weet je zeker dat die gekke newlines e.d. er niet tussendoor slippen.
-
12-04-2011, 11:43 #14
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
Re: PHP Dubbele enter
PHP Code:<?php
$string = preg_replace('/\r{0,1}\n/', '', $string);
?>
Aanvullend bericht:
PHP Code:<?php
# Maximaal aantal lege tussen regels in output
$maxEmptyRows = 1;
$string = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque dolor orci, elementum blandit feugiat et, facilisis ac augue. Fusce commodo enim quis velit adipiscing et
ullamcorper risus condimentum.
Aliquam congue magna et felis vulputate quis dictum sapien mollis. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Vivamus vestibulum lectus vitae mauris venenatis commodo vel at nulla. Pellentesque ac elit turpis. Cras odio tellus, euismod sit amet tempor non, rhoncus eu dolor.
Sed quam est, lacinia interdum vestibulum eu, vehicula quis elit. Etiam in leo id elit ornare consequat non ut est. Duis eu dolor tortor, non ornare nisl. Donec euismod commodo pretium. Praesent eleifend, purus sed venenatis consequat, tellus massa ultricies tellus, ut accumsan diam massa et nisl.
Donec quis leo vitae nibh mollis auctor ut at nulla. Fusce ac sapien sit amet nibh rhoncus pharetra id at ipsum. Suspendisse potenti. Maecenas eu tellus tortor, et eleifend lacus.
Cras sed quam nisi
id fermentum velit.
Cum sociis natoque penatibus
et magnis dis parturient montes,
nascetur ridiculus mus. Integer blandit urna ut orci lacinia ornare. Etiam sem nibh, faucibus id posuere in, vulputate ac metus. Cras vitae lacus eu libero lobortis condimentum a sit amet diam. ';
$rows = preg_split('/\r{0,1}\n/', $string);
$emptyRows = 0;
foreach($rows as $row)
{
$action = true;
$row = str_replace(array(' ', ' '), array('', ''), $row);
if(empty($row)) $emptyRows++;
else $emptyRows = 0;
if($emptyRows > $maxEmptyRows) $action = false;
if($action == true) echo $row. PHP_EOL;
}
?>
$maxEmptyRows = 0;
Geeft maximaal 1 lege tussen regel;
$maxEmptyRows = 1;
Geeft maximaal 2 lege tussen regels;
$maxEmptyRows = 2;
etc.Laatst aangepast door Arek van Schaijk : 12-04-2011 om 14:51 Reden: Automatisch samengevoegd.
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic