You are here:  » Linebrakes within generated codes


Linebrakes within generated codes

Submitted by Chalas on Thu, 2009-03-19 00:49 in

I have a small problem in the layouting of the delivered data of this nice tool.

Best I first send the code I use:

<?php
require("MagicParser.php");
print "<table class=tablebg cellspacing=1 width=100%>";
print "<tr>";
print "<th>&nbsp;Name&nbsp;</th>";
print "<th>&nbsp;Gildenrang&nbsp;</th>";
print "<th>&nbsp;Stufe&nbsp;</th>";
print "<th>&nbsp;Klasse&nbsp;</th>";
print "<th>&nbsp;Handwerker&nbsp;</th>";
print "<th>&nbsp;Stufe&nbsp;</th>";
print "<th>&nbsp;2. Handwerker&nbsp;</th>";
print "<th>&nbsp;Stufe&nbsp;</th>";
print "</tr>";
function myitemHandler($item)
{
print "<tr>";
  $member = $item["MEMBER"];
//print "<td class=row1 align='center'>".$member."</td>";
$id = $item["ID"];
//print "<td class=row1 align='center'>".$id."</td>";
$name = $item["NAME"];
$link = "<a href=\"http://eq2players.station.sony.com/characters/character_profile.vm?characterId=";
$link .= $id;
print "<td class=row1 align=center>".$link.$member."\">".$name."</a></span></td>";
$umlautfalsch = array("Seiltänzer des Zwielichts", "Hüter des Gleichgewichts");
$umlautrichtig = array("Seiltänzer des Zwielichts", "Hüter des Gleichgewichts");
$rang = str_replace($umlautfalsch, $umlautrichtig, $item["GUILDRANK"]);
print "<td class=row1 align='center'>".$rang."</td>";
$level = $item["LEVEL"];
print "<td class=row1 align='center'>".$level."</td>";
$charenglish = array("Dirge", "Illusionist", "Mystic", "Wizard", "Ranger", "Templar", "Warlock", "Brigand", "Coercer", "Troubador", "Necromancer", "Berserker", "Guardian", "Swashbuckler", "Fury", "Paladin", "Monk", "Bruiser", "Shadow Knight", "Warden", "Defiler", "Inquisitor", "Templar", "Conjuror", "Assassin");
$chardeutsch = array("Klagesänger", "Thaumaturgist", "Mystiker", "Zauberer", "Waldläufer", "Templer", "Hexer", "Brigant", "Erzwinger", "Troubadour", "Nekromant", "Berserker", "Wächter", "Abenteurer", "Zornesdruide", "Paladin", "Mönch", "Raufbold", "Schattenritter", "Wärter", "Schänder", "Inquisitor", "Templer", "Beschwörungsmeister", "Assassine");
$klasse = str_replace($charenglish, $chardeutsch, $item["CLASS"]);
print "<td class=row1 align='center'><img src='./styles/DarkFantasy/imageset/".$klasse.".png'alt='".$klasse."' /></td><td class=row1 align='center'>".$klasse."</td>";
$hwenglish = array("Outfitter", "Unskilled", "Craftsman", "Scholar", "Weaponsmith", "Outfitter", "Artisan", "Alchemist", "Jeweler", "Armorer", "Tailor", "Carpenter", "Provisioner", "Sage", "Woodwoker");
$hwdeutsch = array("Ausstatter","Unausgebildeter","Handwerker","Gelehrter","Waffenschmied","Ausstatter","Kunsthandwerker","Alchemist", "Juwelier","Rüstungsschmied","Schneider","Schreiner","Versorger","Weiser","Holzarbeiter");
$hwklasse1 = str_replace($hwenglish, $hwdeutsch, $item["ARTISANCLASS"]);
print "<td class=row1 align='center'>".$hwklasse1."</td>";
$hwlevel1 = $item["ARTISANLEVEL"];
print "<td class=row1 align='center'>".$hwlevel1."</td>";
$hw2english = array("none", "Transmuter", "Tinkerer");
$hw2deutsch = array("Keine", "Umwandler", "Bastler");
$hwklasse2 = str_replace($hw2english, $hw2deutsch, $item["SECONDARYTRADESKILLCLASS"]);
print "<td class=row1 align='center'>".$hwklasse2."</td>";
$hwlevel2 = $item["SECONDARYTRADESKILLLEVEL"] ;
print "<td class=row1 align='center'>".$hwlevel2."</td>";
print"</tr>";
}
MagicParser_parse("http://eq2players.station.sony.com/guilds/guild_roster_xml.vm?guildId=1397210","myitemHandler","xml|GUILD/MEMBERS/MEMBER/");
print"</table>";
?>

the important part where something is going not the way I want is:

print "<td class=row1 align='center'><img src='./styles/DarkFantasy/imageset/".$klasse.".png'alt='".$klasse."' /></td><td class=row1 align='center'>".$klasse."</td>";

In this line I want to use the variable from the feed three times.First as the name of the png filei want to add as an image, than as the alt description of the png and aditionally in a seperate field the written output. My Problem noew is, that before and after the insertion of $klasse the html output has a linebreak, so thatfor example the filname looks like this:

<tr><th>&nbsp;Name&nbsp;</th><th>&nbsp;Gildenrang&nbsp;</th><th>&nbsp;Stufe&nbsp;</th><th>&nbsp;Klasse&nbsp;</th><th>&nbsp;Handwerker&nbsp;</th><th>&nbsp;Stufe&nbsp;</th><th>&nbsp;2. Handwerker&nbsp;</th><th>&nbsp;Stufe&nbsp;</th></tr><tr><td class=row1 align=center><a href="http://eq2players.station.sony.com/characters/character_profile.vm?characterId=641736210
"> Adaka
</a></span></td><td class=row1 align='center'> Diener des Zwielichts
</td><td class=row1 align='center'>
20
</td><td class=row1 align='center'><img src='./styles/DarkFantasy/imageset/
Klagesänger
.png'alt='
Klagesänger
' /></td><td class=row1 align='center'>
Klagesänger
</td><td class=row1 align='center'>
Unausgebildeter
</td><td class=row1 align='center'>
1
</td><td class=row1 align='center'> Keine
</td><td class=row1 align='center'>
0
</td></tr>

Can you help me out with this issue?

Submitted by support on Thu, 2009-03-19 09:18

Hi there!

PHP's trim() function should solve this for you, for example:

$klasse = trim($klasse);
print "<td class=row1 align='center'><img src='./styles/DarkFantasy/imageset/".$klasse.".png'alt='".$klasse."' /></td><td class=row1 align='center'>".$klasse."</td>";

..and of course you can do the same to any other fields that have line breaks that you don't want!

Hope this helps,
Cheers,
David.

Submitted by Chalas on Fri, 2009-03-20 17:12

Thank you very much for your qick help. It works perfectly now. But now I have run into a different Problem on same File. I want to count different Classes within the file so I coded following:

<?php
require("MagicParser.php");
function myitemHandler($item)
{
         global $Klagesänger;
         global $Thaumaturgist;
         global $Mystiker;
         global $Zauberer;
         global $Waldläufer;
         global $Templer;
         global $Hexer;
         global $Brigant;
         global $Erzwinger;
         global $Troubadour;
         global $Nekromant;
         global $Berserker;
         global $Wächter;
         global $Abenteurer;
         global $Zornesdruide;
         global $Paladin;
         global $Mönch;
         global $Raufbold;
         global $Schattenritter;
         global $Wärter;
         global $Schänder;
         global $Inquisitor;
         global $Templer;
         global $Beschwörungsmeister;
         global $Assassine;
         $charenglish = array("Dirge", "Illusionist", "Mystic", "Wizard", "Ranger", "Templar", "Warlock", "Brigand", "Coercer", "Troubador", "Necromancer", "Berserker", "Guardian", "Swashbuckler", "Fury", "Paladin", "Monk", "Bruiser", "Shadow Knight", "Warden", "Defiler", "Inquisitor", "Templar", "Conjuror", "Assassin");
         $chardeutsch = array("Klagesänger", "Thaumaturgist", "Mystiker", "Zauberer", "Waldläufer", "Templer", "Hexer", "Brigant", "Erzwinger", "Troubadour", "Nekromant", "Berserker", "Wächter", "Abenteurer", "Zornesdruide", "Paladin", "Mönch", "Raufbold", "Schattenritter", "Wärter", "Schänder", "Inquisitor", "Templer", "Beschwörungsmeister", "Assassine");
         $klasse = str_replace($charenglish, $chardeutsch, $item["CLASS"]);
switch ($klasse) {
        case "Klagesänger":
                $Klagesänger += 1;
                break;
        case "Thaumaturgist":
                $Thaumaturgist += 1;
                break;
        case "Mystiker":
                $Mystiker += 1;
                break;
        case "Zauberer":
                $Zauberer += 1;
                break;
        case "Waldläufer":
                $Waldläufer += 1;
                break;
        case "Templer":
                $Templer += 1;
                break;
        case "Hexer":
                $Hexer += 1;
                break;
        case "Brigant":
                $Brigant += 1;
                break;
        case "Erzwinger":
                $Erzwinger += 1;
                break;
        case "Troubadour":
                $Troubadour += 1;
                break;
        case "Nekromant":
                $Nekromant += 1;
                break;
        case "Berserker":
                $Berserker += 1;
                break;
        case "Wächter":
                $Wächter += 1;
                break;
        case "Abenteurer":
                $Abenteurer += 1;
                break;
        case "Zornesdruide":
                $Zornesdruide += 1;
                break;
        case "Paladin":
                $Paladin += 1;
                break;
        case "Mönch":
                $Mönch += 1;
                break;
        case "Raufbold":
                $Raufbold += 1;
                break;
        case "Schattenritter":
                $Schattenritter += 1;
                break;
        case "Wärter":
                $Wärter += 1;
                break;
        case "Schänder":
                $Schänder += 1;
                break;
        case "Inquisitor":
                $Inquisitor += 1;
                break;
        case "Templer":
                $Templer += 1;
                break;
        case "Beschwörungsmeister":
                $Beschwörungsmeister += 1;
                break;
        case "Assassine":
                $Assassine += 1;
                break;
        }
}
MagicParser_parse("http://eq2players.station.sony.com/guildsguild_roster_xml.vm?guildId=1397210","myitemHandler","xml|GUILD/MEMBERS/MEMBER/");
print "<TABLE class=tablebg cellspacing=1 width=100%>";
print "<tr><td>Klagesänger</td><td>".$Klagesänger."</td>";
print "<td>Thaumaturgist</td><td>".$Thaumaturgist."</td>";
print "<td>Mystiker</td><td>".$Mystiker."</td>";
print "<td>Zauberer</td><td>".$Zauberer."</td>";
print "<td>Waldläufer</td><td>".$Waldläufer."</td></tr>";
print "<tr><td>Templer</td><td>".$Templer."</td>";
print "<td>Hexer</td><td>".$Hexer."</td>";
print "<td>Brigant</td><td>".$Brigant."</td>";
print "<td>Erzwinger</td><td>".$Erzwinger."</td>";
print "<td>Troubadour</td><td>".$Troubadour."</td></tr>";
print "<tr><td>Nekromant</td><td>".$Nekromant."</td>";
print "<td>Berserker</td><td>".$Berserker."</td>";
print "<td>Wächter</td><td>".$Wächter."</td>";
print "<td>Abenteurer</td><td>".$Abenteurer."</td>";
print "<td>Zornesdruide</td><td>".$Zornesdruide."</td></tr>";
print "<tr><td>Paladin</td><td>".$Paladin."</td>";
print "<td>Mönch</td><td>".$Mönch."</td>";
print "<td>Raufbold</td><td>".$Raufbold."</td>";
print "<td>Schattenritter</td><td>".$Schattenritter."</td>";
print "<td>Wärter</td><td>".$Wärter."</td></tr>";
print "<tr><td>Schänder</td><td>".$Schänder."</td>";
print "<td>Inquisitor</td><td>".$Inquisitor."</td>";
print "<td>Templer</td><td>".$Templer."</td>";
print "<td>Beschwörungsmeister</td><td>".$Beschwörungsmeister."</td>";
print "<td>Assassine</td><td>".$Assassine."</td></tr>";
print "</table>";
?>

Somehow, this script does not count or even show a numbers for counting, but I know there should be quite a lot of numbers.

Thanks for your help in advance.

Submitted by support on Fri, 2009-03-20 21:43

Hi,

There's a few places the above code could be going wrong - but I'm not able to test it easily because of the character encoding mismatch between the pasted code and the forum.

Could you perhaps email me your script, and I'll use that to produce a version with some debug code, and I'll also show you a more efficient way to transfer the count data between myRecordHandler() and your global application that will save you having to use lots of global variables...!

Cheers,
David.

Submitted by Chalas on Sat, 2009-03-21 07:51

Ok, code with a mor detailed descriptio of the problem has gne out.

Again: thank you in advance for your help.

Thorsten