Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [HTML] &, Links und das W3C (https://www.delphipraxis.net/12876-%5Bhtml%5D-links-und-das-w3c.html)

CalganX 5. Dez 2003 15:00


[HTML] &, Links und das W3C
 
Hi,
ich habe folgendes Problem:
in meinem dynamischen Sourcecode stehen manchmal Links wie
Code:
http://www.csd-software.net/new/admin/edit.html&edtpage=/home/chris/new/sites/index.html
(Ja... das & direkt nach der Endung ist richtig [mod_rewrite-Rewriting, deswegen geht ? schonmal garnicht ;)])

Allerdings meckert Herr W3:
Ausgabe des W3C-Validator
Code:
Below are the results of attempting to parse this document with an SGML parser.

   1. Line 83, column 206: cannot generate system identifier for general entity "edtpage"

  ...="-2"> <a href="/new/admin/edit.html&edtpage=/home/chrisha/public_html/csd-so
                                          ^

   2. Line 83, column 206: general entity "edtpage" not defined and no default entity (explain...).

  ...="-2"> <a href="/new/admin/edit.html&edtpage=/home/chrisha/public_html/csd-so
                                          ^

   3. Line 83, column 213: reference to entity "edtpage" for which no system identifier could be generated

  ...<a href="/new/admin/edit.html&edtpage=/home/chrisha/public_html/csd-software/
                                          ^

   4. Line 83, column 205: entity was defined here

  ...e="-2"> <a href="/new/admin/edit.html&edtpage=/home/chrisha/public_html/csd-s


Ziemlich ärgerlich, denn so ist die - eigentlich - komplett richtige Website nicht mal W3C-Konform und das ist ziemlich schlecht. :(

Gibt es da eine Möglichkeit das zu korrigieren? Ich habe schon &amp; ausprobiert, aber das bringt auch nichts.

Chris

Daniel 5. Dez 2003 15:02

Re: [HTML] &, Links und das W3C
 
[edit]
Mein erster Ansatz war Schwachsinn, daher jetzt der zweite Versuch.

Also: Da Du mittels Deines mod_rewrites Dich selber um die korrekte Angabe der '?' und der '&' kümmerst, kann es durchaus passieren, daß die URL, die sichtbar ist nicht HTML-konform ist. Das mod_rewrite sorgt ja dafür, daß die Anfrage, die dann tatsächlich vom Server ausgewertet wird, syntaktisch korrekt ist.
Ist hier auch so, gab aber noch keinerlei Probleme und wenn man weiß, wieso es so ist, dann ist es in diesem Fall auch tolerabel.
[/edit]

CalganX 5. Dez 2003 15:04

Re: [HTML] &, Links und das W3C
 
Hi Daniel,
geht ja doch. :duck:
Dann wundert es mich aber, dass es bei einer anderen Website nicht funktioniert hat. :|

Chris

sakura 5. Dez 2003 15:05

Re: [HTML] &, Links und das W3C
 
@Daniel:
Zitat:

Zitat von Chakotay1308
(Ja... das & direkt nach der Endung ist richtig [mod_rewrite-Rewriting, deswegen geht ? schonmal garnicht ;)])

...:cat:...

CalganX 5. Dez 2003 15:07

Re: [HTML] &, Links und das W3C
 
Hi sakura,
dazu vielleicht nochmal eine Erklärung:
die Website wird aufgerufen per
Code:
http://server.net/site/sitename.html
Da das ganze aber aus Parsern und Includieren besteht wird das ganze dann so per mod_rewrite umgeschrieben:
Code:
http://server.net/site/index.php?page=/sites/sitename.html
Deswegen muss ich halt & direkt verwenden. ;)

Chris

[edit]Daniel, dein Ansatz war nur in eine Richtung Schwachsinn, als das ich am Anfang nicht ? verwenden muss. Überraschenderweise hat es mit &amp; ja nun doch funktioniert.[/edit]

d3g 5. Dez 2003 18:07

Re: [HTML] &, Links und das W3C
 
Das ist jetzt zwar sehr böse und weit unter der Ehre eines Programmierers ;-), aber Try-And-Error hilft ja manchmal: Pipe mal alle deine HTML-Files durch
Code:
perl -e "while (<>) { s/(<a href=\"[^\"]+)&(.*>)/\$1;\$2/ig; print \$_; }"
Und schau, ob's dann geht (Backup!).

PS. Ich weiß, mit sed wär's eleganter gewesen, aber ich bin zu blöd, um mit sed Backreferencing hinzukriegen ...

CalganX 5. Dez 2003 18:09

Re: [HTML] &, Links und das W3C
 
Hi,
erstens bräuchte ich da Perl. Zweitens mach ich das bereits in meinem schönen Parser mit str_replace (Quick&Dirty). Da alle Dateien sowieso durch diese Datei durchlaufen macht das nichts, wenn ich einfach alle & durch &amp; ersetze.

Aber danke für deinen Tipp, :)

Chris

d3g 5. Dez 2003 18:16

Re: [HTML] &, Links und das W3C
 
Wenn du dir die Regex noch einmal genau anschaust, dann siehst du, dass alle & durch ; ersetzt werden. Und die Wahrscheinlichkeit, dass auf dem (offensichlich) UNIX-Rechner, den du als Webserver benutzt, Perl drauf ist, liegt bei > 97% (sehr viele andere Programme benötigen es nämlich sowieso).

CalganX 5. Dez 2003 20:10

Re: [HTML] &, Links und das W3C
 
Hi,
mir ist gerade aufgefallen, dass ich beim einfachen replacen von & viel zu viel replace. :(

Deswegen werde ich das wohl mit PCREs machen. Einfacher als mit Perl, denn da müsste ich ja ständig das mal wieder parsen. Außerdem hab ich (noch) keinen SSH-Zugriff... :(

Chris

d3g 5. Dez 2003 21:25

Re: [HTML] &, Links und das W3C
 
Was ich eigentlich meinte, ist, einfach bei dir lokal deine Files durch das Perlskript laufen zu lassen. Sah so aus, als hättest du einen lokalen UNIX-Webserver aufgesetzt (weil die Files in deinem Home-Verzeichnis liegen und ein Provider dir kaum einen Alias dorthin legen wird, wenn du auf dem Rechner nicht sowieso einen richtigen Login hast).


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz