Article View: pl.comp.lang.php
Article #219946Re: formularze i wyrażenia regularne problem
From: slx
Date: Thu, 06 Aug 2009 15:39
Date: Thu, 06 Aug 2009 15:39
26 lines
2034 bytes
2034 bytes
Krzysiek napisał:
>>> Mam pytanko, otóż mam jakiś $tekst=$teksPoczatek.$tekstKoniec
>>> Zmienne $teksPoczatek i $tekstKoniec są przekazywane z formularza
>>> $tekst jest następnie w postaci HTML wysyłane mailem.
>>>
>>> Problem pojawia się gdy próbuję zastąpić \n na <br>
>>> $text=str_replace('\n', '<br>', $textPoczatek.$textKoniec)
>>> - pomiędzy $teksPoczatek i $tekstKoniec wskakuje mi kilka <br> a
>>> chciałbym tylko jedno :).
Po pierwsze, to '\n' nie oznacza nowego wiersza, tylko dwa znaki: ukośnik
i literę n. Powinieneś użyć "\n".
> no ale trim() usuwa wszytkie \n – chodzi o to żeby jedno \n bądź więcej,
> bądź \n kilka znaków i znowu \n zostało zastąpione jednym <br>
Myślę, że trzeba to zrobić w dwóch podejściach:
$Text = "123456789\n\n\n\n123456\n1\n2\n345\n7890";
var_dump($Text);
// zamiana znaków nowego wiersza oddzielonych max 3 innymi znakami na spacje
$Text = preg_replace('/\n([^\n]{1,3})(?=\n)/', ' $1', $Text);
// zamiana 1 lub więcej znaków nowego wiersza na <br>
$Text = preg_replace('/\n+/', '<br>', $Text);
var_dump($Text);
Technical Details
Message-ID:
<4a7af94b$1@news.home.net.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.home.net.pl!not-for-mailReferences:
<h4ud9u$l0g$1@node2.news.atman.pl> <h4uei4$1n$1@nemesis.news.neostrada.pl> <h51ifd$1e0$1@node2.news.atman.pl>Show Full Headers
Complete Article Headers
Date: Thu, 06 Aug 2009 17:39:55 +0200 From: slx <nomail@nomail> User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.16) Gecko/20080708 Thunderbird/2.0.0.16 Mnenhy/0.7.5.666 MIME-Version: 1.0 Newsgroups: pl.comp.lang.php Subject: Re: formularze i wyrażenia regularne problem References: <h4ud9u$l0g$1@node2.news.atman.pl> <h4uei4$1n$1@nemesis.news.neostrada.pl> <h51ifd$1e0$1@node2.news.atman.pl> In-Reply-To: <h51ifd$1e0$1@node2.news.atman.pl> NNTP-Posting-Host: 83.16.144.149 Message-ID: <4a7af94b$1@news.home.net.pl> X-Trace: news.home.net.pl 1249573195 83.16.144.149 (6 Aug 2009 17:39:55 +0200) Organization: home.pl news server Lines: 26 X-Authenticated-User: slx.wirelesslan Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.home.net.pl!not-for-mail Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit