eregi_replace und merkwürdiger Fehler
Stefan Wagner
- php
Hallo,
ich habe ein Problem mit folgendem Code-Teil:
------
if (isset($detail)) {
$events = file_get_contents("http://www.evangelische-termine.de/Veranstalter/detail.php?ID=".$EVENTID."&vid=".$VERANSTALTER."&sidv=".$sidv);
//Session entfernen
$events = eregi_replace("sidv=[a-zA-Z0-9]{32}",'id='.$id.'&VERANSTALTER='.$VERANSTALTER.'&PEOPLE='.$PEOPLE.'&itemsPerPage='.$itemsPerPage.'&month='.$month.'&EVENTTYPE='. $EVENTTYPE ."highlighrr", $events);
}
-------
Das funktioniert soweit. Wenn ich jetzt im Ersetzen-Teil (also dem
zweiten) von eregi_replace bei dem "highlighrr" noch irgendetwas
anhänge (z.B. ein "r": "highlighrrr") dann bekomme ich einen
Parse error: parse error, unexpected $ in /home/.../fileadmin/veranstaltungen.inc on line 284
Und das immer wenn ich die Länge des Ersetzen-Teils auf über 148
Zeichen bringe.
PHP-Version ist 5.0.3
Irgendwelche Ideen? Schon mal vielen Dank!
Ciao!
Stefan
Hallo,
soweit ich weiß(und ich weiß nicht viel), sind ersteinmal die preg funktionen den ereg´s vorzuziehen, sollen wohl performance-mäßig besser sein also verwende doch einfach mal preg_replace und schau dann nochmal ob der fehler weiter besteht... deinen code hab ich mir jetzt gar net so genau angeguckt(liegt wohl an den 6 caipis*GGG*)
MFG Hagen
Ich grüsse den Cosmos,
sind ersteinmal die preg funktionen den ereg´s vorzuziehen, sollen wohl performance-mäßig besser sein
Nein, da muss ich widersprechen. preg_* arbeitet mit RegExp, welche zu parsen wesentlich länger dsauert, als eine einfache Ersetzung einer Zeichenkette.
Möge das "Self" mit euch sein
Ich grüsse den Cosmos,
eregi_replace("sidv=[a-zA-Z0-9]{32}"
Naja, da laut Doku ereg* keine regulären Audrücke kann, wird das nie funktionieren.
Möge das "Self" mit euch sein
Ich grüsse den Cosmos,
Sorry, hab ich mich vertan. Bitte mein Posting ignorieren. /Das kommt davon, wenn ich erst poste und dann in die Doku schau ~grummel~)
Möge das "Self" mit euch sein
echo $begrüßung;
ich habe ein Problem mit folgendem Code-Teil:
[...]
Das funktioniert soweit. Wenn ich jetzt im Ersetzen-Teil (also dem zweiten) von eregi_replace bei dem "highlighrr" noch irgendetwas anhänge (z.B. ein "r": "highlighrrr") dann bekomme ich einen
Parse error: parse error, unexpected $ in /home/.../fileadmin/veranstaltungen.inc on line 284
Ich kann diesen Fehler nicht nachvollziehen. Die Ursache für einen parse error liegt in vielen Fällen vor der bemängelten Stelle, vielleicht außerhalb des von dir geposteten Codes. Wenn du keinen Editor mit Syntaxhighlighting verwendest, der dir einen Fehler eventuell verdeutlichen würde, kannst du den Fehler einkreisen, indem du stückweise Programmteile auskommentierst. Tritt der Fehler nicht mehr auf, ist er meist im auskommentierten Teil zu finden.
echo "$verabschiedung $name";
Hi,
Ich kann diesen Fehler nicht nachvollziehen. Die Ursache für einen parse error liegt in vielen Fällen vor der bemängelten Stelle, vielleicht außerhalb des von dir geposteten Codes.
Wenn du keinen Editor mit Syntaxhighlighting verwendest, der dir einen Fehler eventuell verdeutlichen würde,
Hab ich eigentlich, er hilft mir nur auch nicht weiter...
kannst du den Fehler einkreisen, indem du stückweise Programmteile auskommentierst. Tritt der Fehler nicht mehr auf, ist er meist im auskommentierten Teil zu finden.
Das habe ich gemacht, der Fehler steckt genau in dem Code Teil. Noch genauer hier:
--------
$events = eregi_replace("sidv=[a-zA-Z0-9]{32}",'id='.$id.'&VERANSTALTER='.$VERANSTALTER.'&PEOPLE='.$PEOPLE.'&itemsPerPage='.$itemsPerPage.'&month='.$month.'&EVENTTYPE='.$EVENTTYPE, $events);
//.'&HIGHLIGHT='.$HIGHLIGHT.'&q='.$q.'&d='.$datum.'&pageID='.$pageID
---------
Eigentlich soll das im Kommentar ans Ende des Ersetzen Ausdrucks. Produziert auch den Fehler. Der selbe Fehler wird auch generiert, wenn ich das ganze wie oben benutze (mit dem Kommentar). Nur wenn ich die Kommentarzeile ganz lösche bringt es keinen Fehler? ? ?
Nochmal der ganze Code:
--------
//?
if(isset($sidv)) {
$str .= "&sidv=".$sidv;
}
// Wenn die Detailseite angezeigt werden soll wird das hier erledigt
if (isset($detail)) {
$events = file_get_contents("http://www.evangelische-termine.de/Veranstalter/detail.php?ID=".$EVENTID."&vid=".$VERANSTALTER."&sidv=".$sidv);
//Session entfernen
$events = eregi_replace("sidv=[a-zA-Z0-9]{32}",'id='.$id.'&VERANSTALTER='.$VERANSTALTER.'&PEOPLE='.$PEOPLE.'&itemsPerPage='.$itemsPerPage.'&month='.$month.'&EVENTTYPE='. $EVENTTYPE, $events);
//.'&HIGHLIGHT='.$HIGHLIGHT.'&q='.$q.'&d='.$datum.'&pageID='.$pageID
//Rest ist für die Übersichtsseite zuständig.
} else {
...
----------
Ciao!
Stefan
echo $begrüßung;
der Fehler steckt genau in dem Code Teil. Noch genauer hier:
$events = eregi_replace("sidv=[a-zA-Z0-9]{32}",'id='.$id.'&VERANSTALTER='.$VERANSTALTER.'&PEOPLE='.$PEOPLE.'&itemsPerPage='.$itemsPerPage.'&month='.$month.'&EVENTTYPE='.$EVENTTYPE, $events);
//.'&HIGHLIGHT='.$HIGHLIGHT.'&q='.$q.'&d='.$datum.'&pageID='.$pageID
Tut mir leid, kann ich immmer noch nicht nachvollziehen. Tritt denn der Fehler auch dann auf, wenn du mal nur die eine Zeile in eine eigenen Datei kopierst und diese Datei ausführst? (Die Variablen sind dann zwar nicht initialisiert, doch das ist bei der Suche nach einem parse error nicht weiter tragisch.)
echo "$verabschiedung $name";