PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Umstellungsproblem? (https://www.php-resource.de/forum/php-developer-forum/95167-umstellungsproblem.html)

Anbu 12-01-2009 14:28

Umstellungsproblem?
 
So seit wir auf PHP5 umgestiegen sind, hab ich ein Problem mit einer Variable.

Es werden einfach sachen wie

PHP-Code:

echo' UnhideWhenUsed="false" QFormat="true" Name="heading 1" />'

hinzugefügt.

Habs mal gegooglt und hab Leidensgenossen gefunden jedoch keine Antwort:


Hier der merkwürdige Code eines Leidensgenossen, der auch bei mir hinzugefügt wurde.

Ich hoff jemand kann mir helfen. Ich komm echt nicht drauf.

ps:

In der Variable steht eine komplette html seite. PHP-Funktion die ich beim Erstellen benutze ist str_replace. Ich speicher den Inhalt der Variable in einen Key eines Arrays.

combie 12-01-2009 15:55

Zitat:

Ich komm echt nicht drauf.
Ich auch nicht!
Zu spärliche Information..

Anbu 12-01-2009 16:16

So hier der Teil wo ich die Variable befülle:

PHP-Code:

function getTemplate($sess)
{
    
$artikel "";
    
$artikel_en "";
    
$content = array();
    foreach(
$sess['artikel']['artikel_de'] as $key => $value)
    {
        
$value str_replace('src="/'.$sess['root_pfad'].'','src="'.trim($sess['url']).'/'.$sess['image_pfad'],$value);
        
$artikel .= $value.$sep;
    }
    
$sess['template']['content'] = str_replace("##artikel##",$artikel,$sess['template']['content']);    
    
    
    
$zuersetzen = array("##css##","##url##","##foottext##","##strasse##");
    
$ersetzen = array($sess['template']['css'],trim($sess['url']),$sess['template']['foottext'],$sess['strasse']);
    
    
$content['de'] = str_replace($zuersetzen,$ersetzen,$sess['template']['content']);
    
#$content['en'] = str_replace($zuersetzen,$ersetzen,$sess['template']['content_en']);
    
return $content;
}

$_SESSION['template']['content'] = '
    <html>
        <head>
            <title></title>
            ##css##
        </head>
        <body>
            ##artikel##<br />
            <a href="##url##">Link</a>
            ..
            ...
            ....
        </body>
    </html>
'
;
$template getTemplate($_SESSION);
$nachricht $template['de']; 


fireweasel 12-01-2009 16:42

1. Dein Quellcode wird bei mir (PHP 5.2.6) nicht übersetzt, weil die Zeile
'<a href="##url##">Link</a>' ab '"' als Ende der String-Definition aufgefasst wird und das folgende '#' als Beginn eines Single-Line-Comments. Also meckert der Parser folgerichtig ab der nächsten Zeile den unerwarteten "." an und bricht ab. Wie hast du das zum Laufen bekommen?

2. Warum benutzt du das $_SESSION-Array für deine Templates? Das ist für einen anderen Zweck gedacht.


Zitat:

Es werden einfach sachen wie

echo" UnhideWhenUsed="false" QFormat="true" Name="heading 1" />";

hinzugefügt.
Schreibst du deine Quelltexte in einem gewöhnlichen Texteditor?
... oder benutzt du etwa Word, Office oder eine andere für diesen Zweck ungeeignete Software?

Zitat:

Habs mal gegooglt und hab Leidensgenossen gefunden jedoch keine Antwort:
Weil das, was da wie dein Problem aussieht, nur nochmal das gleiche Gesabbel ist, wie das, was dein "Leidensgenosse" schon weiter oben geschrieben hat. Diesmal allerdings in der "Quelltext-Ansicht", was vermuten lässt, dass der Herr seine Postings mit lustigen M$FT-Tools verfasst. Das hilft dir wirklich nicht weiter.

ArSeN 12-01-2009 16:43

Schon das Syntax-Highlighting des Forums hier verrät dir doch, dass es da Parse-Error gibt.

PHP-Code:

echo" UnhideWhenUsed="false" QFormat="true" Name="heading 1" />"

Sollte heißen
PHP-Code:

echo ' UnhideWhenUsed="false" QFormat="true" Name="heading 1" />'

oder eben die Quotes excapen.

Das gleiche gilt auch für deinen letzten Post mit der Session-Variable.

Anbu 12-01-2009 17:10

ja sorrry gequotet hab ich in meinem Script schon richtig. Nur hier hab ichs leserfreundlich abgespeckt und mir ist halt ein leichtsinssfehler untergekommen.



Ich arbeite mit Notepad++ Spartanisch :D

So, das SESSION-Array benutz ich da es recht praktisch ist damit ich Werte auch nach verlassen der Seite noch hab.

ArSeN 12-01-2009 18:16

Was meinst du denn mit "so sachen werden einfach hinzugefügt"? Stehen die plötzlich so wie du sie gepostet hast in deinen PHP-Skripten, oder wird lediglich die Ausgabe angezeigt, und du kannst dir nicht erklären wo die herkommt? Und was hat das ganze dann mit deinem Template-Ding zu tun? :confused:

Anbu 13-01-2009 09:28

Also,

wenn ich mein Template zusammenstell, wird zur Variable $content der Code hinzugefügt, den ich euch im Link gezeigt hab.

Und dieses Problem ist erst nach umstellung auf php5 aufgetreten.

fireweasel 13-01-2009 09:48

Zitat:

Original geschrieben von Anbu
Also,

wenn ich mein Template zusammenstell, wird zur Variable $content der Code hinzugefügt, den ich euch im Link gezeigt hab.

Dann grenz das doch mal ein:
Lass dir $content vor und nach jeder Änderung anzeigen. Ab wann wird das merkwürdige Zeug hinzugefügt?
Und was steht vor Aufruf der Funktion in $_SESSION['template']? Und wie kommt es dahin?

Zitat:

Und dieses Problem ist erst nach umstellung auf php5 aufgetreten.
Und da PHP5 nicht von sich aus M$FT-Office-Quellcode erzeugt, muss noch etwas anderes umgestellt worden sein. Irgendeine deiner Datenquellen liefert dieses XML-Zeug an dein Script aus.

Anbu 13-01-2009 10:04

OK ICH HABS!!!!!

Oh man....Ein verda.... Kollege hat beim einbinden des FCKEditors Mist gebaut.

Toll!


Naja Danke an alle für die Zeit & Hilfe.

...............ein hoch auf die Teamarbeit..........


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:46 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG