Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 31-05-2002, 08:37
Verwijderd
Tja...
Ik kom er niet uit.

Ik heb dus zo'n textarea, met wrap='hard', zodat ook de regeleindes worden meegestuurd naar de server.

Maar nu wil ik de regeleindes tijdens/na uitlezen vervangen door <BR>. Maar de ingetypte tekst '\n' wil ik NIET vervangen.

Hoe moet dit?

Ik heb:
$cPostTekst =~ s/\\n/<BR>/g;
$cPostTekst =~ s/(\\<BR>)/\\n/g;
$cPostTekst =~ s/\\/\\\\/g;

Twee enters worden overigens ook niet meegenomen/opgeslagen in de db. (MySQL)


Laatst gewijzigd op 31-05-2002 om 08:41.
Met citaat reageren
Advertentie
Oud 31-05-2002, 09:36
Verwijderd
vraagje tussendoor, waarom gebruik je eigenlijk perl en geen php ofzo
[zal wel een reden voor zijn, maar wat is die dan]
Met citaat reageren
Oud 31-05-2002, 09:45
Verwijderd
Nou...
Ik heb Perl als eerste geleerd tijdens mijn eerste stage, en ik vond het geweldig! (m.a.w.: Ik kan niet echt PHP )

Trouwens, PHP == Perl voor beginners

Ik wou ook wel ColdFusion doen, maar dat ondersteun mijn hostingprovider niet (is beetje duur... CF-server iets van $6000)
Met citaat reageren
Oud 31-05-2002, 09:59
Verwijderd
neem endoria, kost je niks
Met citaat reageren
Oud 31-05-2002, 10:03
Verwijderd
Die hebben ook geen ColdFusion Server....

Ontopic maar weer?

Weet je trouwens wel hoe het zou moeten in PHP?

Laatst gewijzigd op 31-05-2002 om 10:05.
Met citaat reageren
Oud 31-05-2002, 10:07
Verwijderd
Ik snap niet helemaal wat je wilt eerlijk gezegd
[ik d8 dat endoria wel cf had :/]

je wilt iig iets met /n en <br> maar wat is een beetje vaag
heb je iets aan nl2br() [php dus]

Snap dus niet precies wat je wilt
Met citaat reageren
Oud 31-05-2002, 10:14
Verwijderd
Citaat:
McLaren schreef:
Ik snap niet helemaal wat je wilt eerlijk gezegd
[ik d8 dat endoria wel cf had :/]
Citaat:
De endoria.net webserver ondersteund HTML, JavaScript, PHP, CGI, (perl, C en python) en ASP content (het laatste werkt niet helemaal ok, maar goed)
De database die je kunt krijgen is een mySQL database.
Er is ook een mogelijkheid om gebruik te maken van FXP. Een verbinding maken via SSL is ook mogelijk.
Van http://**********.endoria.net/mirrors/faq.endoria.net

Citaat:
McLaren schreef:

je wilt iig iets met /n en <br> maar wat is een beetje vaag
heb je iets aan nl2br() [php dus]

Snap dus niet precies wat je wilt
nl2br() misschien wel, als je mij zegt hoe die werkt...

HTML-pagina -> FORM -> TEXTAREA:wrap="hard"
Snap je bovenstaande regel?
De tekst die in de textarea staat, moet met newline's worden weggeschreven (ok, dit lukt)

Maar wanneer ik de data uitlees, moet ik de newlines converteren naar <BR>, anders komt alles op dezelfde regel...

En nu komt het moelijke:
Je kunt in de textarea ook gewoon het newlinekarater (\n) intypen. Deze moet dus niet worden omgezet.
Met citaat reageren
Oud 31-05-2002, 10:27
Verwijderd
ahaa, dus als iemand in een textarea typt \n dat ie dat niet omzet, maa een echte regel wel..

Ik dnek eerlijk gezegd dat ie daar geen verschil in kan zien..

maareuhm, nl2br
$var = "blaaaaaaaaaaaat blablabla\n okokokokokook";
$var = nl2br($var);

<textarea name="naampje">$var</textarea>
zal er zoiets uit komen te zien
Code:
 _____________________________
| blaaaaaaaaaaaat blablabla   |
| okokokokokook               |
|_____________________________|
en in html:
<textarea name="naampje">
blaaaaaaaaaaaat blablabla<br \>
okokokokokook
</textarea>

Maar als mensen zelf \n intypen kun je volgens mij weinig aan doen :/
Met citaat reageren
Oud 31-05-2002, 10:28
Verwijderd
Citaat:
McLaren schreef:

Maar als mensen zelf \n intypen kun je volgens mij weinig aan doen :/
Waarom werkt het hier dan wel?
Met citaat reageren
Oud 31-05-2002, 10:30
Verwijderd
Citaat:
eddie schreef:

Waarom werkt het hier dan wel?
\n ff kijken \n denk je?

ennuh, wrap="hard" is geen officiele html tag
Met citaat reageren
Oud 31-05-2002, 10:31
Verwijderd
Citaat:
eddie schreef:

Waarom werkt het hier dan wel?
ah, maybe snap ik het..
maybe gebruiken ze addslashes()

dan kom er uiteindelijk \\n te staan dus...
Met citaat reageren
Oud 31-05-2002, 10:33
Verwijderd
ik denk dat er zoiets word gedaan

$var = "blaaaaaaaaaaaat blablabla\n okokokokokook";
$var = nl2br($var);

<textarea name="naampje">$var</textarea>

zet in databse:
$var = addslashes($naampje");

ik weet het niet zeker, maar het zou kunnen

ennuh, php manual:
www.php.net/<type_hier_je_vraag>
Met citaat reageren
Oud 31-05-2002, 10:38
Verwijderd
en dat werkt niet
Want, je zet in de database \\n ipv \n, dus ook de echte newline karakters worden zo opgeslagen...
Met citaat reageren
Oud 31-05-2002, 10:42
Verwijderd
Citaat:
eddie schreef:
en dat werkt niet
Want, je zet in de database \\n ipv \n, dus ook de echte newline karakters worden zo opgeslagen...
dan gebruik je stripslashes();

Met citaat reageren
Oud 31-05-2002, 10:45
Verwijderd
foutje gemaakt in mijn ideeen :/


Hij zet geen <br> in de html van een textarea, het is gewoon een enter op zich :/

er word dus geen nl2br gebruik..
Met citaat reageren
Oud 31-05-2002, 10:47
Verwijderd
Citaat:
McLaren schreef:


dan gebruik je stripslashes();

Dan werkt het nog niet

Echte newline \n wordt \\n
Nep ook: \\n
Met addslashes.

stipslashes-resultaat:
echt: \n
nep: \n

nl2br();
echt: <BR>
nep: <BR>

Met citaat reageren
Oud 31-05-2002, 10:48
Verwijderd
Citaat:
McLaren schreef:
foutje gemaakt in mijn ideeen :/


Hij zet geen <br> in de html van een textarea, het is gewoon een enter op zich :/

er word dus geen nl2br gebruik..
Om de tekst uit de database in een textarea te proppen levert geen problemen op.

Wel om het in HTML weer te geven.

Kijk anders maar even: http://www.erikdokter.nl/forum
Alleen kijken indien je geen IE 6 hebt
Met citaat reageren
Oud 31-05-2002, 10:56
Verwijderd
wat ik trouwens had bedacht:

vervang alle \n door <BR>
vervang alle \<BR> door \\n

Maar wat als mij intypt: \\n? of \\\n?
Met citaat reageren
Oud 31-05-2002, 10:59
Verwijderd
Citaat:
eddie schreef:

Om de tekst uit de database in een textarea te proppen levert geen problemen op.

Wel om het in HTML weer te geven.

Kijk anders maar even: http://www.erikdokter.nl/forum
Alleen kijken indien je geen IE 6 hebt
ik heb hier MSIE6
Met citaat reageren
Oud 31-05-2002, 11:02
Verwijderd
voor een var in een textarea moet je geen <br> gebruiken he..

het zal iets zijn als:

$var = stripslashes($var);

<textarea>$var</textarea>

voor in db: $var = addslashes($var);



en dan om een post te printen:
$var = stripslashes(nl2br($var));
echo "post: $var";

[maybe moeetn de stripslashes & nl2b andersom..]

[maar nu moet ik weg :/, byebye]
Met citaat reageren
Oud 31-05-2002, 14:01
Verwijderd
volgens mij gaat dat nog niet werken
Met citaat reageren
Oud 31-05-2002, 14:05
Verwijderd
Hoe lees je die textarea in dan? Als ik zo'n ding inlees, ziet het er zo uit: "sdgdsg%0D%0Asdgasdg%0D%0A%0D%0Asdg%5Cn". Na url-decoden wordt dat dit:
"sdgdsg
sdgasdg
sdg\n"

Als je dan gewoon \n vervangt door <BR> en de hierboven zichtbare \\n laat zoals ie is, dan werkt het toch gewoon zoals je wilt?

Mod_perl, de apache perl module is trouwens een stuk sneller dan php (wordt maar één keer geparsed, bij het uploaden) en je kan er meer mee (ook meer taalconstructies).
Met citaat reageren
Oud 31-05-2002, 14:09
Verwijderd
Nog even vraagje

In MySQL is de functie LAST_INSERT_ID() of mysql_insert_id()

Echter, is snap niet hoe ik dit in Perl moet aanroepen.
Ik heb:
-----
local $stopic = $dbh->prepare( "INSERT INTO topic (subforum, omschr, begonnen, laatstepost) VALUES (\'$subforum\', \'$onderwerp\', \'eddie\', \'$datum\')" );
$lCheck = $stopic->execute();
$topic = "";
if ( $lCheck )
{
$topic = $stopic->func( {}, "mysql_insert_id");
}

print $topic;
-----
Maar hij doet't niet

Iemand?
Met citaat reageren
Oud 31-05-2002, 14:14
Verwijderd
Citaat:
Chip Zero schreef:
Hoe lees je die textarea in dan? Als ik zo'n ding inlees, ziet het er zo uit: "sdgdsg%0D%0Asdgasdg%0D%0A%0D%0Asdg%5Cn". Na url-decoden wordt dat dit:
"sdgdsg
sdgasdg
sdg\n"

Als je dan gewoon \n vervangt door <BR> en de hierboven zichtbare \\n laat zoals ie is, dan werkt het toch gewoon zoals je wilt?

Mod_perl, de apache perl module is trouwens een stuk sneller dan php (wordt maar één keer geparsed, bij het uploaden) en je kan er meer mee (ook meer taalconstructies).
Ik gebruik gewoon de functie &ReadParse (*field) in cgi-lib.pl

De inhoud van het textarea is dan gewoon $field{ $textareanaam }
Dit prop ik (bijna) meteen in de database.
En lees ik weer uit.
In de database staat het bijna gewoon goed. (twee opeenvolgende enters worden niet gezien ofzo)
Met citaat reageren
Oud 31-05-2002, 14:25
Verwijderd
Citaat:
eddie schreef:
Ik gebruik gewoon de functie &ReadParse (*field) in cgi-lib.pl

De inhoud van het textarea is dan gewoon $field{ $textareanaam }
Dit prop ik (bijna) meteen in de database.
En lees ik weer uit.
In de database staat het bijna gewoon goed. (twee opeenvolgende enters worden niet gezien ofzo)
Ik doe het meestal zo, handmatig:
Code:
use CGI;
my $c = new CGI;
my $hoi = $c->param("hoi");
Anyway, ziet de string die je inleest met readparse er anders uit dan die van mij? Anders zou je namelijk gewoon $cPostTekst =~ s/\n/<BR>/g; moeten kunnen doen?!
Met citaat reageren
Advertentie
Oud 31-05-2002, 14:32
Verwijderd
En over dat MySQL: misschien dat een paar ' or die "fout:
$DBI::errstr"' statements achter de regels meer duidelijkheid geven? Daar weet ik verder ook maar weinig van af...
Met citaat reageren
Oud 31-05-2002, 14:35
Verwijderd
Citaat:
Chip Zero schreef:
Ik doe het meestal zo, handmatig:
Code:
use CGI;
my $c = new CGI;
my $hoi = $c->param("hoi");
Anyway, ziet de string die je inleest met readparse er anders uit dan die van mij? Anders zou je namelijk gewoon $cPostTekst =~ s/\n/<BR>/g; moeten kunnen doen?!
Shame on me!

ReadParse:
1) zet alle hex-codes om naar alfanumeriek
2) verwijderd alle html-tags

*schaamt zich*

Code:
# Convert %XX from hex numbers to alphanumeric
$key =~ s/%([A-Fa-f0-9]{2})/pack("c",hex($1))/ge;
$val =~ s/%([A-Fa-f0-9]{2})/pack("c",hex($1))/ge;

#Remove all HTML tags
$val =~ s/<([^>]|\n)*>//g;

Laatst gewijzigd op 31-05-2002 om 14:42.
Met citaat reageren
Oud 31-05-2002, 18:13
Chimera
Avatar van Chimera
Chimera is offline
Citaat:
eddie schreef:
Nog even vraagje

In MySQL is de functie LAST_INSERT_ID() of mysql_insert_id()

Echter, is snap niet hoe ik dit in Perl moet aanroepen.
"SELECT LAST_INSERT_ID()" gewoon als query IIRC.
Met citaat reageren
Oud 31-05-2002, 18:42
Verwijderd
Citaat:
Chimera schreef:


"SELECT LAST_INSERT_ID()" gewoon als query IIRC.
Okeeej!
Hij doet het!!

Dank
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 21:20.