php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.06.2008, 09:13  
Neuer Benutzer
 
Registriert seit: 20.06.2008
Beiträge: 3
Holli91 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Unnötige Leerstellen von PHP nach HTML

Moin, moin,
als PHP-Laie stehe ich derzeit vor einer Herausforderung: Mit dem folgenden (Teil-) PHP-Code will ich eine Tabelle generieren, die einen Schatten um ein hochgeladenes Bild darstellt:

echo "<table style=\"{ text-align: left; }\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n";
echo "<tbody>\n";
echo "<tr>\n";
echo "<td style=\"{ vertical-align: middle; text-align: center; }\">\n";
if ($NaechstesBild > ($AnzBilderImOrdner - 1))
{
echo "<a href=\"show_pic.php?dir=".$BilderVerzeichnis."&ind expage=".$DirectoryIndex."&picindex=0\">\n";
}
else
{
echo " <a href=\"show_pic.php?dir=".$BilderVerzeichnis."&ind expage=".$DirectoryIndex."&picindex=".$NaechstesBi ld."\">\n";
}
if ($Shrinked == 1)
{
if ($info[0] > $ShrinkedWidth) echo "<img src=\"".$GalleryHomeDir."/".$BilderVerzeichnis."/".$Bilder[$BildIndex]."\" width=\"".$ShrinkedWidth."\" border=\"0\">\n";
else echo " <img src=\"".$GalleryHomeDir."/".$BilderVerzeichnis."/".$Bilder[$BildIndex]."\" border=\"0\">\n";
}
else echo "<img src=\"".$GalleryHomeDir."/".$BilderVerzeichnis."/".$Bilder[$BildIndex]."\" border=\"0\">\n";
echo "</a>\n";
echo "</td>\n";
echo "<td style=\"{ vertical-align: top; text-align: left; width: 4px; background-image: url(images/back_rm.gif); background-repeat: repeat-y; }\">\n";
echo "<img style=\"{ width: 4px; height: 5px; }\" src=\"images/back_ro.gif\">\n";
echo "</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td style=\"{ text-align: left; vertical-align: top; height: 5px; background-image: url(images/back_u.gif); background-repeat: repeat-x; }\">\n";
echo "<img style=\"{ width: 4px; height: 5px; }\" src=\"images/back_lu.gif\">\n";
echo "</td>\n";
echo "<td style=\"{ vertical-align: top; text-align: left; height: 5px; width: 4px; }\">\n";
echo "<img style=\"{ width: 4px; height: 5px; }\" src=\"images/back_ru.gif\">\n";
echo "</td>\n";
echo "</tr>\n";
echo "</tbody>\n";
echo "</table>\n";

Der von PHP nach HTML generierte Quelltext sieht so aus:

<TABLE style="TEXT-ALIGN: left" cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD style="VERTICAL-ALIGN: middle; TEXT-ALIGN: center">
<A href="Judo-Löwen-Lauenau - 15.06.2008 Thueringer ega-Pokal der U13 in Erfurt&amp;indexpage=1&amp;picindex=1">
<IMG src="Judo-Löwen-Lauenau-Dateien/Annika%2520Merle%2520Maike.jpg" border=0> </A></TD>
<TD style="BACKGROUND-IMAGE: url(images/back_rm.gif); VERTICAL-ALIGN: top; WIDTH: 4px; BACKGROUND-REPEAT: repeat-y; TEXT-ALIGN: left">
<IMG style="WIDTH: 4px; HEIGHT: 5px" src="Judo-Löwen-Lauenau-Dateien/back_ro.gif"> </TD></TR>
<TR>
<TD style="BACKGROUND-IMAGE: url(images/back_u.gif); VERTICAL-ALIGN: top; BACKGROUND-REPEAT: repeat-x; HEIGHT: 5px; TEXT-ALIGN: left">
<IMG style="WIDTH: 4px; HEIGHT: 5px" src="Judo-Löwen-Lauenau-Dateien/back_lu.gif"> </TD>
<TD style="VERTICAL-ALIGN: top; WIDTH: 4px; HEIGHT: 5px; TEXT-ALIGN: left">
<IMG style="WIDTH: 4px; HEIGHT: 5px" src="Judo-Löwen-Lauenau-Dateien/back_ru.gif">
</TD></TR></TBODY></TABLE>

Folgendes Problem ist aufgetreten: Firefox stellt den Rahmen einwandfrei dar, aber der Internetexplorer leider nicht, da in jeder Zelle der Tabelle eine Leerstelle generiert wurde, die vom IE als Zeichen verstanden und dargestellt wird, wodurch die (kleinen) Bilder in den Zellen verschoben bzw. gleichzeitig die Zeilen nicht in den befohlen Höhen angezeigt werden.

Frage: Wie muss der PHP-Code verändert werden, dass bei der Generierung der HTML-Seiten keine Leerstellen entstehen und somit die Tabelle auch im IE korrekt angezeigt werden kann?

Vielen Dank schon mal für Eure Hilfe!

MfG

Holli91
Holli91 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.06.2008, 09:20  
Erfahrener Benutzer
 
Benutzerbild von Montellese
 
Registriert seit: 30.07.2007
Beiträge: 541
Montellese befindet sich auf einem aufstrebenden Ast
Montellese eine Nachricht über MSN schicken
Standard

Hast du mal versucht den HTML-Code im PHP Bereich nicht so umständlich auszugeben und ein bisschen weniger \n zu benutzen? Verstehe z.B. nicht, warum du zwischen einem <img> Tag und einem </a> einen Zeilenumbruch haben willst. Desweiteren würde ich dir empfehlen, HTML-Teile in denen nur wenig oder gar kein PHP vorkommt aus dem <?php ?> Bereich rauszunehmen und als normales HTML darzustellen. Allfällige einzelne PHP-Variablen kannst du ja dann mit <?php echo $variable; ?> einfügen. Dann hast du in deinem Editor auch das Syntax-Highlighting des HTML-Codes und du kannst die Zeilenumbrüche so einbauen, wie du sie willst, Code einrücken etc. Also insgesamt viel übersichtlicher.
Montellese ist offline  
Alt 20.06.2008, 10:32  
Neuer Benutzer
 
Registriert seit: 20.06.2008
Beiträge: 3
Holli91 befindet sich auf einem aufstrebenden Ast
Standard

Hallo Montellese,
vielen Dank für Deine schnelle Antwort. Du hast offensichtlich auf den ersten Blick erkannt, dass da ein Laie am Werk ist. Hintergrund der derzeitigen Version ist schlichtweg: Ich habe keine Ahnung von PHP und nur eine kostenlosen Programm aus dem Internet an unsere Homepage angepasst! Ich war also schon froh, überhaupt diese Tabelle um das Bild mit PHP hinbekommen zu haben. Daher auch die Umständlichkeit. Meine Versuche, in eine fertige Tabelle nur an den Stellen, wo es nötig ist, die PHP-Teile einzufügen, sind an irgendwelchen (mir natürlich unverständlichen) Befehlen in der dazugehörigen function.inc gescheitert. Deshalb die Bitte:
Ist es Dir möglich, mir den dargstellten PHP-Code so zu korrigieren, dass die unnötigen Zeilenumbrüche und Leerzeichen weg sind? Es ist sicher erkennbar, dass ich praktisch in den 4 Zellen der Tabelle jeweils nur ein Bild ohne weitere Zeichen haben möchte.
MfG
Holli91
Holli91 ist offline  
Alt 20.06.2008, 10:36  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Sei doch froh, andere wären glücklich über ne Lehrstelle Ne mal im Ernst deinen Code da tue ich mir nicht an, da tue ich dir lieber das hier an.... und vorsicht: du könntest etwas lernen
cycap ist offline  
Alt 20.06.2008, 10:45  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ich glaube kaum, dass das, was du hier zeigst der vom Browser aus deinem PHP generierte Code ist. Ich kenne keinen Browser, der Tags automatisch (und mindestens in XHTML auch ungültig) in Grossbuchstaben umwandelt. Des weiteren verwende dringend PHP-Tags für den Code und ersetze all diese «\"» mit «'», um den Code etwas lesbarer zu machen.
__________________
Gruss
L
lazydog ist offline  
Alt 20.06.2008, 10:59  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Steht das nicht in der Ankündigung, dass man PHP Tags verwenden soll? Sowas kann sich doch keiner zur gemüte ziehen, so einen unformatierten Code...
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 20.06.2008, 11:21  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zeilenumbrüche entsprechen in html Leerzeichen. Ansonsten gilt das Gesagte.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 20.06.2008, 15:26  
Neuer Benutzer
 
Registriert seit: 20.06.2008
Beiträge: 3
Holli91 befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für Eure Hilfe, der entscheidende Hinweis ist der von nikosch77-new (Zeilenumbrüche) und von Montellese (nicht jedes Tag muss einzeln aufgerufen werden).
Es tut mir andererseits Leid, wenn ich dem einen oder anderen nicht in geeigneter Form mein Problem dargestellt habe und zu wenig Fachkompetenz mitbringe. Ich war davon ausgegangen, dass hier auch einem Laien geholfen werden könnte. Noch für lazydog: Ob Du das jetzt glaubst oder nicht - der HTML-Quelltext ist tatsächlich aus der IE-Quelltextanischt kopiert worden.
Holli91 ist offline  
Alt 20.06.2008, 17:48  
Erfahrener Benutzer
 
Benutzerbild von Montellese
 
Registriert seit: 30.07.2007
Beiträge: 541
Montellese befindet sich auf einem aufstrebenden Ast
Montellese eine Nachricht über MSN schicken
Standard

Beim IE verwundert mich nichts, wenn man da per JavaScript Tags generieren lässt, sind die auch alle in Grossbuchstaben.
Montellese ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Include von html Bully PHP Tipps 2008 24 13.06.2009 19:38
[Erledigt] HTML Befehl wird in echo befehl nicht ausgeführt Flix PHP Tipps 2008 4 17.07.2008 12:22
[Erledigt] system() Ausgabe html formatieren pervenches PHP Tipps 2008 3 09.07.2008 10:37
[Erledigt] HTML Mail mit Lücken mitten in den Worten, wie kommt das? DeeFour PHP-Fortgeschrittene 2 29.05.2008 15:47
Variable und komplette HTML Datei chrisonline PHP Tipps 2007 3 24.05.2007 15:30
PHP file in HTML file anzeigen, geht das? PHP Tipps 2006 8 02.02.2006 10:51
&amp;amp;amp;lt;if&amp;amp;amp;gt; &amp;amp;amp;lt;/if&amp;amp;amp;gt; in einer HTML Datei fuer Templ PHP-Fortgeschrittene 6 03.11.2005 12:05
Kontaktformular, welches auf neue html Seite führt PHP Tipps 2005-2 4 20.07.2005 11:21
HTML Tabellenzeile in Tabelle einfügen? Datenbanken 2 28.01.2005 00:28
[Erledigt] html mit mail versenden PHP-Fortgeschrittene 0 27.01.2005 19:53
IMAP: Bild(er) in HTML Part richtig darstellen PHP-Fortgeschrittene 1 07.10.2004 12:21
{$varname.optelement} mit preg_match aus HTML extrahieren PHP Tipps 2004 0 11.09.2004 04:13
Unterschied HTML und PHP PHP Tipps 2004 4 28.08.2004 19:02
Validitor (HTML 4.01) = Schwachsinn? Filewalker Off-Topic Diskussionen 19 03.08.2004 15:27
[Erledigt] PDF aus HTML erzeugen ? PHP-Fortgeschrittene 2 05.06.2004 02:10

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php leerstellen, leerstelle php, firefox macht unnötie lehrstellen, leestelle php, html leerstellen, mysql select where = true, leerstellen in php, leerstelle html, leerstellen bilder html, leerstellen mit phph, \die unnötigen zeilenumbrüche\ php, php shrinkedwidth, shrinkedwidth

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:50 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum