Avatar billede spidr Nybegynder
01. august 2003 - 02:13 Der er 21 kommentarer og
1 løsning

Linie skiftet skriver oven i hinanden

Jeg kan ikke rigtig smide hele koden her da den er lang og over flere sider, men det der sker er at hvis jeg i en textarea (som man bruger for at sende infor til siden)
skriver f.eks.:
huhu se selv
haha
Så ender det op med
http://www.goog.dk/pic/my.php?id=2487
Hvor det har skrevet haha over i huhu i stedet for nede under? nogen der har en ide om hvorfor??
Avatar billede ahv Nybegynder
01. august 2003 - 02:15 #1
nl2br($text);
Avatar billede ahv Nybegynder
01. august 2003 - 02:16 #2
$altaå hvis du har din tekststrng i $text så kører du den simpelt ->

$text = nl2br($text);
Avatar billede spidr Nybegynder
01. august 2003 - 08:28 #3
Nej detresultere bare i at den laver et br :) Det har jeg prøvet før, se her http://www.goog.dk/pic/my.php?id=2520
Avatar billede repsac Nybegynder
01. august 2003 - 09:51 #4
hvilken funktion bruger du til at placere teksten på billedet?
Avatar billede spidr Nybegynder
01. august 2003 - 09:52 #5
imageTTFtext
Avatar billede repsac Nybegynder
01. august 2003 - 09:54 #6
måske er det noget med

$arr = explode('\n', $teksten);

for ($i = 0; $i < count($arr); $i++) {
    #din funktion anvendt på teksten i $arr[$i] med en placering i stil med margin_top + linespread*$i
}

Meget naivt, men... ja.
Avatar billede repsac Nybegynder
01. august 2003 - 09:57 #7
jeg citerer www.php.net/imagettftext :
"I noticed that to print text to multiple lines properly, use \n\r, not just \n."

Altid en god idé at kigge på php.net :)
Avatar billede spidr Nybegynder
01. august 2003 - 10:01 #8
repsac  tror du ikke jeg har gjort det???
Den skriver bare \r\n istedet for linieskift :)
Avatar billede repsac Nybegynder
01. august 2003 - 10:03 #9
spidr: der er forskel på \n\r og \r\n
Avatar billede spidr Nybegynder
01. august 2003 - 10:07 #10
Og hvad er den så?
men er lige meget for har prøvet begge dele og de resultere i det samme
http://www.goog.dk/pic/my.php?id=2520
Avatar billede spidr Nybegynder
01. august 2003 - 10:12 #11
Koden for den side der laver billedet, ser således ud, hvis det skulle hjælpe :D
<?php
$navn = strip_tags($navn);
$text = strip_tags($text);
$size = strip_tags($size);
$skra = strip_tags($skra);
$font = strip_tags($font);

if ($font == "arial"){
$type = getcwd().'/arial.ttf';}
elseif ($font == "arial2"){
$type = getcwd().'/arial2.ttf';}
elseif ($font == "augie"){
$type = getcwd().'/augie.ttf';}
elseif ($font == "BEHR____"){
$type = getcwd().'/BEHR____.ttf';}
elseif ($font == "bluebaby"){
$type = getcwd().'/bluebaby.ttf';}
elseif ($font == "comic"){
$type = getcwd().'/comic.ttf';}
elseif ($font == "julesgirltalk"){
$type = getcwd().'/julesgirltalk.ttf';}
elseif ($font == "Lindl___"){
$type = getcwd().'/Lindl___.ttf';}
elseif ($font == "Neverwinter"){
$type = getcwd().'/Neverwinter.ttf';}
elseif ($font == "oogieboogie"){
$type = getcwd().'/oogieboogie.ttf';}
elseif ($font == "Pokemon"){
$type = getcwd().'/Pokemon.ttf';}
elseif ($font == "times"){
$type = getcwd().'/times.ttf';}
elseif ($font == "alien"){
$type = getcwd().'/alien.ttf';}
elseif ($font == "hmua"){
$type = getcwd().'/hmua.ttf';}
elseif ($font == "GFH_nml"){
$type = getcwd().'/GFH_nml.ttf';}
else {
$type = getcwd().'/arial.ttf';}

$frasiden = strip_tags($frasiden);
$fratop = strip_tags($fratop);
$text = stripslashes($text);
$text = str_replace("+"," ", $text);
$text = str_replace('
', '\n\r', $text);
$im = imagecreatefromjpeg("$navn.jpg");
ImageTTFText ($im, $size, $skra, $frasiden, $fratop, $farve, $type, "$text");
imagejpeg($im);
ImageDestroy ($im);
?>

og siden der henter den ser således ud:
<?php
mysql_connect("localhost", "goog_dk", "63nSfe.a");
mysql_select_db("goog_dk");

function InsertUser() {
    global $REMOTE_ADDR, $HTTP_USER_AGENT, $PHP_SELF;
   
    $ip            = $REMOTE_ADDR;
    $host          = gethostbyaddr($ip);
    $browser        = $HTTP_USER_AGENT;
    $page          = $PHP_SELF;
    $time            = explode(" ", microtime());
    $usersec        = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE ip like '$ip'");
    mysql_query("INSERT INTO online_users (ip,host,date,browser,page) VALUES ('$ip','$host','$usersec','$browser','$page')");
}
InsertUser();
?><html><head><link href=snorre.css rel=stylesheet><title>goog.dk - Make you own pics.</title></head>
<body>
<?php

$id = strip_tags($id);
$query = mysql_query("select * from pics2 WHERE id = '$id' order by id") or die(mysql_error());
while($row = mysql_fetch_array($query)){
$navn = $row[navn];
$text = $row[text];
$size = $row[size];
$font = $row[font];
$frasiden = $row[frasiden];
$fratop = $row[fratop];
$skra = $row[skra];
}
require("db_ind.inc");
$sql = "UPDATE pics SET dl = dl+1 WHERE navn = '$navn'";
mysql_query($sql) or die (mysql_error());
$text = stripslashes($text);
$text = urlencode($text);
$text = str_replace("  "," &nbsp;", nl2br(htmlentities(addslashes($text))));
$text = str_replace("%5C","", $text);
echo "<img src='picgen2.php?text=$text&size=$size&navn=$navn&frasiden=$frasiden&fratop=$fratop&skra=$skra&font=$font'>";
?><br>
<a href=http://www.goog.dk/pic target=_top>GooG.dk/pic</a> - To make your own picture!! -
<a href=http://www.goog.dk/portal/online2.php target=_top>
<?PHP
mysql_connect("localhost", "goog_dk", "63nSfe.a");
mysql_select_db("goog_dk");
function ShowUsers2() {

    $time            = explode(" ", microtime());
    $usersec        = (double)$time[1];
    mysql_query("DELETE FROM online_users WHERE date < $usersec -400");
    $countusers    = mysql_fetch_array(mysql_query("SELECT count(*) as total FROM online_users"));
    print ('Online: <b>'.$countusers[total].'</b>');
}
showUsers2();
?></a>
<script language="javascript1.2" src="http://stat02.cliche.parameter.dk/counter/12b2a37f1b29a694bd44d48c17bfe3f0"></script>
</body></html>
Avatar billede repsac Nybegynder
01. august 2003 - 10:29 #12
lidt usmart at skrive dit brugernavn og kodeord til mysql-databasen... ændr det hellere med det med det samme :)
Avatar billede repsac Nybegynder
01. august 2003 - 10:31 #13
... men du kan da bruge et for-loop, som jeg tidligere skrev...
Avatar billede spidr Nybegynder
01. august 2003 - 10:31 #14
LoL plejer at bruge en include fil :S Tak fordi du sage det :D
Hm hvordan ændre man det? :S Kan man jo ikke selv? :S Jeg må nok ændre pass istedet ;)
Men det er sQ os besværligt :D
Avatar billede spidr Nybegynder
01. august 2003 - 10:40 #15
Og hvordan vil du have jeg skal ligge det der loop ind ??
Avatar billede repsac Nybegynder
01. august 2003 - 10:53 #16
du har set på den ikke?

ideen er bare at splitte tekststrengen op ved '\n' og hver gang dette tegn findes, så indsætte noget nyt tekst bare et par pixels længere ned (linespread)...

altså vil det blive noget i stil med:

$linespread = 12; # eller det antal pixels der nu passer.
for ($i = 0; $i < count($arr); $i++) {
    textttftext(..., $fratop + $i*$linespread, ...);
}
Avatar billede repsac Nybegynder
01. august 2003 - 10:54 #17
... og så er teksten der skal indsættes i hvert enkelt loop jo så være $arr[$i]...
Avatar billede spidr Nybegynder
01. august 2003 - 11:05 #18
<--helt lost nu :S men kigger på det senere, har lidt ondt i hovedet :(
Avatar billede repsac Nybegynder
01. august 2003 - 11:14 #19
ok :)
Det er slet ikke avanceret, men måske et glas vand til tømmermændene kan hjælpe? ;p
Avatar billede spidr Nybegynder
01. august 2003 - 23:20 #20
Der er et lille problem med din kode ;)
Man kan selv vælge skrigt type på mit site :)
så når du vælger en stor skrift går det jo over hinanden hvis jeg sætte den til ikke ret mange pixels, og sæter jeg den til mange pixels ser det dumt ud hvis skiften er lille, så skal der en masse elseif ind men det er liiidt besværligt :S
Avatar billede spidr Nybegynder
01. august 2003 - 23:27 #21
Det virker i det hele taget slet ikke, den resultere i det samme :)
Avatar billede spidr Nybegynder
01. august 2003 - 23:52 #22
hoho fandt ud af problemet :D:D det var linie skiftet med den skfit type jeg havde valgt der ikke virkede ret godt ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester