kostenloser Webspace werbefrei: lima-city


str_replace: Wo ist der Fehler?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    zualio

    zualio hat kostenlosen Webspace.

    Hi!

    Ich habe ein Problem:
    Ich wollte eigentlich eine HTML-Seite in ein XHTML-Strict umwandeln, was bedeutet, dass tag/formatierung">Formatierung fast bur noch ?ber CSS m?glich ist. Das als Hintergrund.
    Doch weil ich externe CSS-Stylesheets einfach nicht so gerne mag und interne so un?bersichtlich sind, habe ich ein PHP-?rogramm geschrieben, welches die Aufgabe der Formatierung ?bernehmen soll.
    Wenn zum Beispiel etwas zentriert dargestellt werden soll, wird statt <div align="center"> im html-Code <div style="{{center}}" im XHMTL-Code gemacht, wobei das PHP-Programm das "{{center}}" in "text-align: center; " um?ndern soll.

    Das ist jetzt ein kleines Beispiel, bei vielen, wie z.B. Tabellen sind die Sachen viel gr??er, wie "background-color: #FFFFFF; background-image: backb.jpg; background-attachment: fixed; ", dann macht das Sinn, es nicht so gro? reinzuschreiben.

    Das Programm ?ffnet eine Datei, die ihm durch eine $_GET-Variable eingegeben wird. Wenn keine $_GET-variable Vorliegt, stellt es die Startseite dar.
    Bevor die Seite allerdings angezeigt wird, sollen die schl?sselw?rter wie {{font1}} usw. durch CSS-Code ersetzt werden.

    DAS TUT ES ABER NICHT. Es gibt keine Fehlermeldung, aber keine einzige Sache ist ersetzt!.

    Hilfe! Ich finde den Fehler nicht!
    Achso: Um die ?bersichtlichkeit der zu ersetzenden W?rter und der zu ladenden Seiten zu gew?hrleisten, habe ich einen "Seiten"- bzw. "Ersetzungkatalog" gemacht, wobei die Daten zuerst in ein Array geschrieben werden und dann mithilfe einer for-Schleife ausgewertet werden sollen.

    Ich finde aber keinen Fehler. Kann mir jemand helfen?

    <?php
    
    	//Lese, welche Seite geladen werden soll (Seitenverzeichnis)
    		
    		//Seitenkatalog
    		$katalog['0'] = "index.xhtml";
    		
    		$katalog['1.0'] = "index";
    		$katalog['1.1'] = "index.xhtml";
    		
    		$katalog['2.0'] = "irgentwas";
    		$katalog['2.1'] = "irgentwas.html";
    	
    		// Auswertung Seitenkatalog
    		$anzahl = (count($katalog)-1)/2;
    		$stop = FALSE;
    		
    		for ($n=1; (($n < $anzahl) AND ($stop == FALSE)); $n++){
    			
    			$name = $n . ".0";
    			$name2 = $n . ".1";
    			
    			If ($_GET['site'] == $katalog[$name]) {
    			
    				$dateiname = $katalog[$name2];
    				$stop = TRUE;
    			
    			} else {
    			
    				$dateiname = $katalog[0];
    			
    			}
    		}
    
    	//?ffne die Datei, die im letzten Schritt herausgefunden wurde.
    	
    		$datei = fopen($dateiname, "r");
    	
    	//F?ge  die einzelnen Zeilen der Datei  in einen String  ein.
    	
    		while (!feof($datei)) {
    			$ausgabe = $ausgabe . fgetc($datei);
    		}
    	
    	//Parserfunktionen: Pr?fe, ob etwas ersetzt werde muss. (Ersetzungstabelle)
    		
    		//Ersetzungskatalog
    			
    			//F?r Textausrichtung
    			
    				$katalog2['1.0'] = "{{center}}";
    				$katalog2['1.1'] = "text-align: center; ";
    				
    				$katalog2['2.0'] = "{{left}}";
    				$katalog2['2.1'] = "text-align: left; ";
    				
    				$katalog2['3.0'] = "{{right}}";
    				$katalog2['3.1'] = "text-align: right; ";
    			
    			//f?r <body> Tag
    			
    				$katalog2['4.0'] = "{{body}}";
    				$katalog2['4.1'] = "background-color: #FFFFFF; background-image: backb.jpg; background-attachment: fixed; ";
    			
    			//f?r Tabellen-Tags
    				
    				//Tabellentyp 1
    				
    				$katalog2['5.0'] = "{{table1}}";
    				$katalog2['5.1'] = "border-bottom-width: 0; border-left-width: 0; border-right-width: 0; border-top-width: 0; border-bottom-color: #111111; border-left-color: #111111; border-right-color: #111111; border-top-color: #111111; border-collapse: collapse; ";
    				
    				//<td>1
    				$katalog2['6.0'] = "{{td1}}";
    				$katalog2['6.1'] = "background-color: #C1A26C; border-bottom-color: #000000; border-left-color: #000000; border-right-color: #000000; border-top-color: #000000; background-image: backc.jpg; ";			
    				
    			//Sonstiges
    				
    				//border=0
    				$katalog2['7.0'] = "{{border=0}}";
    				$katalog2['7.1'] = "border-bottom-width: 0; border-left-width: 0; border-right-width: 0; border-top-width: 0; ";
    				
    				//bgcolor=#000000
    				$katalog2['8.0'] = "{{bgc=000000}}";
    				$katalog2['8.1'] = "background-color: #000000; ";
    
    				//background=doki.JPG
    				$katalog2['9.0'] = "{{back=doki}}";
    				$katalog2['9.1'] = "background-image: doki.JPG; ";
    				
    				//background=farleft.jpg
    				$katalog2['10.0'] = "{{back=farleft}}";
    				$katalog2['10.1'] = "background-image: farleft.jpg; ";
    				
    				//background=navbak.jpg
    				$katalog2['11.0'] = "{{back=navbak}}";
    				$katalog2['11.1'] = "background-image: navbak.jpg; ";
    				
    				//background=medpole.JPG
    				$katalog2['12.0'] = "{{back=medpole}}";
    				$katalog2['12.1'] = "background-image: medpole.JPG; ";				
    				
    				//Font Typ 1
    				$katalog2['13.0'] = "{{font1}}";
    				$katalog2['13.1'] = "font-family: Tahoma, sans-serif; color: #Ctd1A26C; font-size-adjust: 3; ";
    				
    				//Font Typ 2
    				$katalog2['14.0'] = "{{font2}}";
    				$katalog2['14.1'] = "font-family: Tahoma, sans-serif; font-size-adjust: 2; ";
    				
    				//Font Typ 3
    				$katalog2['15.0'] = "{{font3}}";
    				$katalog2['15.1'] = "font-family: Tahoma, sans-serif; font-size-adjust: 1; ";
    				
    				//Font Typ 4
    				$katalog2['16.0'] = "{{font4}}";
    				$katalog2['16.1'] = " font-size-adjust: 1; color: #FFFFFF;  ";
    				
    				//Font Typ 5 
    				$katalog2['17.0'] = "{{font5}}";
    				$katalog2['17.1'] = "font-family: Times New Roman, Tahoma, sans-serif; font-size-adjust: 1; color: #FFFFFF; ";
    				
    				//font Typ 6
    				$katalog2['18.0'] = "{{font6}}";
    				$katalog2['18.1'] = "color: #C1A26C; ";
    		
    		//Nehme ersetzung vor
    		
    		$anzahl = (count($katalog2))/2;
    		
    		for ($n=1; $n < $Anzahl; $n++){
    			
    			$name = $n . ".0";
    			$name2 = $n . ".1";
    			
    			$ausgabe = str_replace($katalog2[$name], $katalog[$name2], $ausgabe);
    			
    			
    		}
    		
    	//Ausgabe
    	
    		echo $ausgabe;
    	
    ?>


    Beitrag ge?ndert: 27.9.2006 15:09:31 von zualio
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. m**2

    so ist es richtig:

    $ausgabe = str_replace($katalog2[$name], $katalog2[$name2], $ausgabe);

  4. Autor dieses Themas

    zualio

    zualio hat kostenlosen Webspace.

    Das habe ich mitlerweile gemacht, doch es geht immer noch nicht. Ist wohl noch ein 2. Fehler drin...

    Hmmm..
  5. m**2

    $ausgabe = str_replace($katalog2[$name], $katalog2[$name2], $ausgabe);


    Beitrag ge?ndert: 27.9.2006 18:44:41 von map2
  6. Autor dieses Themas

    zualio

    zualio hat kostenlosen Webspace.

    Oh,sorry, jetzt muss es ein Designfehler meinerseits sein.
    Danke f?r die Mithilfe...


    WIESO ZEIGT DIESES BE***** CSS die HINTERGRUNDBILDER NICHT AN...
    AAAARG!!!!

    ?hmm... Also... Danke.. :smile:
  7. m**2

    background-image: url('farleft.jpg');
  8. Autor dieses Themas

    zualio

    zualio hat kostenlosen Webspace.

    Danke....

    Ich hab dir grad nen Karmapunkt vergeben :-)

    Wenn du jetzt aber schon dabei bist:
    Wei?t du auch, warum die Gr??en der Buchstaben sich ncht ver?ndern? :-)
  9. m**2

    juhuu, einen tag angemeldet und schon ein karma ;)

    mh, wo hast du eigentlich dieses exotische css gelernt? ^^
    font-size-adjust gibt es gar nicht (mehr). geb die gr??e doch einfach absolut an, z.B. "font-size:10px;" ...

    auch deine border angaben lassen sich optimieren. "border: black 1px" erzeugt einen schwarzen rahmen, ohne jede seite einzeln festzulegen...




  10. Autor dieses Themas

    zualio

    zualio hat kostenlosen Webspace.

    Hi!

    Oh, danke...
    Ich glaub, ich lern nix mehr aus B?chern, bevor ich mich informiere, wie alt sie sind.... :-)
    (Von wegen Neuauflage 2005...)

    Danke! Na, jedenfalls bin ich "exotisch".
    Jedenfals ein Vorteil. DANKE!
  11. Autor dieses Themas

    zualio

    zualio hat kostenlosen Webspace.

    Hi!

    sorry, weil ich mich nochmal melden muss, aber es gibt anscheinend noch einen Fehler.

    Ich schicke grad mal den ?berarbeiteten code:

    //Lese, welche Seite geladen werden soll (Seitenverzeichnis)
    		
    		//Seitenkatalog
    		$katalog['0'] = "index.xhtml";
    		
    		$katalog['1.0'] = "index";
    		$katalog['1.1'] = "index.xhtml";
    		
    		$katalog['2.0'] = "irgentwas";
    		$katalog['2.1'] = "irgentwas.html";
    	
    		// Auswertung Seitenkatalog
    		$anzahl = (count($katalog)-1)/2;
    		$stop = FALSE;
    		
    		for ($n=1; (($n < $anzahl) AND ($stop == FALSE)); $n++){
    			
    			$name = $n . ".0";
    			$name2 = $n . ".1";
    			
    			If ($_GET['site'] == $katalog[$name]) {
    			
    				$dateiname = $katalog[$name2];
    				$stop = TRUE;
    			
    			} else {
    			
    				$dateiname = $katalog[0];
    			
    			}
    		}
    
    	//?ffne die Datei, die im letzten Schritt herausgefunden wurde.
    	
    		$datei = fopen($dateiname, "r");
    	
    	//F?ge  die einzelnen Zeilen der Datei  in einen String  ein.
    	
    		while (!feof($datei)) {
    			$ausgabe = $ausgabe . fgetc($datei);
    		}
    	
    	//Parserfunktionen: Pr?fe, ob etwas ersetzt werde muss. (Ersetzungstabelle)
    		
    		//Ersetzungskatalog
    			
    			//F?r Textausrichtung
    			
    				$katalog2['1.0'] = "{{center}}";
    				$katalog2['1.1'] = "text-align: center; ";
    				
    				$katalog2['2.0'] = "{{left}}";
    				$katalog2['2.1'] = "text-align: left; ";
    				
    				$katalog2['3.0'] = "{{right}}";
    				$katalog2['3.1'] = "text-align: right; ";
    			
    			//f?r <body> Tag
    			
    				$katalog2['4.0'] = "{{body}}";
    				$katalog2['4.1'] = "background-color: #FFFFFF; background-image: url('backb.jpg'); background-attachment: fixed; ";
    			
    			//f?r Tabellen-Tags
    				
    				//Tabellentyp 1
    				
    				$katalog2['5.0'] = "{{table1}}";
    				$katalog2['5.1'] = "margin-left:auto; margin-right:auto; border-bottom-width: 0; border-left-width: 0; border-right-width: 0; border-top-width: 0; border-bottom-color: #111111; border-left-color: #111111; border-right-color: #111111; border-top-color: #111111; border-collapse: collapse; ";
    			
    				//<td>1
    				$katalog2['6.0'] = "{{td1}}";
    				$katalog2['6.1'] = "background-color: #C1A26C; border-bottom-color: #000000; border-left-color: #000000; border-right-color: #000000; border-top-color: #000000; background-image: url('backc.jpg'); ";			
    				
    			//Sonstiges
    				
    				//border=0
    				$katalog2['7.0'] = "{{border=0}}";
    				$katalog2['7.1'] = "border-bottom-width: 0; border-left-width: 0; border-right-width: 0; border-top-width: 0; ";
    				
    				//bgcolor=#000000
    				$katalog2['8.0'] = "{{bgc=000000}}";
    				$katalog2['8.1'] = "background-color: #000000; ";
    
    				//background=doki.JPG
    				$katalog2['9.0'] = "{{back=doki}}";
    				$katalog2['9.1'] = "background-image: url('doki.JPG'); ";
    				
    				//background=farleft.jpg
    				$katalog2['10.0'] = "{{back=farleft}}";
    				$katalog2['10.1'] = "background-image: url('farleft.jpg'); ";
    				
    				//background=navbak.jpg
    				$katalog2['11.0'] = "{{back=navbak}}";
    				$katalog2['11.1'] = "background-image: url('navbak.jpg'); ";
    				
    				//background=medpole.JPG
    				$katalog2['12.0'] = "{{back=medpole}}";
    				$katalog2['12.1'] = "background-image: url('medpole.JPG'); ";				
    				
    				//Font Typ 1
    				$katalog2['13.0'] = "{{font1}}";
    				$katalog2['13.1'] = "font-family: Tahoma, sans-serif; color: #C1A26C; font-size: 18px; ";
    				
    				//Font Typ 2
    				$katalog2['14.0'] = "{{font2}}";
    				$katalog2['14.1'] = "font-family: Tahoma, sans-serif; font-size: 14px; ";
    				
    				//Font Typ 3
    				$katalog2['15.0'] = "{{font3}}";
    				$katalog2['15.1'] = "font-family: Tahoma, sans-serif; font-size: 10px; ";
    				
    				//Font Typ 4
    				$katalog2['16.0'] = "{{font4}}";
    				$katalog2['16.1'] = " font-size: 9px; color: #FFFFFF;  ";
    				
    				//Font Typ 5 
    				$katalog2['17.0'] = "{{font5}}";
    				$katalog2['17.1'] = "font-family: Times New Roman, Tahoma, sans-serif; font-size: 10px; color: #FFFFFF; ";
    				
    				//font Typ 6
    				$katalog2['18.0'] = "{{font6}}";
    				$katalog2['18.1'] = "color: #C1A26C; ";
    				
    				//Tabellenzentrierung
    				$katalog2['19.0'] = "{{tcenter}}";
    				$katalog2['19.1'] = "margin-left: auto; margin-right: auto; ";
    				
    				//Indent
    				$katalog2['20.0'] = "{{indent}}";
    				$katalog2['20.1'] = "text-indent: 50 px; ";
    				
    				//font typ 7
    				$katalog2['21.0'] = "{{font7}}";
    				$katalog2['21.1'] = "font-family: Tahoma, sans-serif; font-size: 12px; ";
    		//Nehme ersetzung vor
    		
    		$anzahl = (count($katalog2))/2;
    		
    		for ($n=1; $n < $anzahl; $n++){
    			
    			$name = $n . ".0";
    			$name2 = $n . ".1";
    			
    			$ausgabe = str_replace($katalog2[$name], $katalog2[$name2], $ausgabe);
    			
    			
    		}
    		
    	//Ausgabe
    	
    		echo $ausgabe;


    Das neue Problem: Ab $katalog2['19.0'] wird nichts mehr ersetzt!
    Im erstellten HTML steht da einfach {{tcenter}} usw, aber es wird nichts gemacht!

    WAS KANN denn alles schiefgehn *heul* *hoffnung aufgeb*

  12. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!