fat32
Experte
(offline)
Dabei seit 09.2006
1465
Beiträge
|
Geschrieben am: 06.01.2007 um 20:58 Uhr
Zuletzt editiert am: 06.01.2007 um 20:58 Uhr
|
|
Hallo,
ich ersetze alle & auf einer Seite mit $output = str_replace("&", "& amp;", $output); durch & amp;...
Wie mahe ich es, dass nur die & in Links ersetzt werden?
Danke
PS.: Anders ausgedrückt: ich will alle "&" zu "& amp;" machen, aber NUR WENN sie NICHT teil eines html-zeichens (also & nbsp; oder & gt; oder so sind)
wie geht das?
|
|
X_FISH - 50
Champion
(offline)
Dabei seit 06.2003
3795
Beiträge
|
|
Geschrieben am: 06.01.2007 um 21:04 Uhr
|
|
Hm... Hättest du auch einfacher lösen können: http://www.php4-forum.de/befehle/htmlentities.htm
bzw.
http://www.php4-forum.de/befehle/htmlspecialchars.htm.
Warum sollen die HTML-Befehle nicht mit umgewandelt werden? Bei der Ausgabe, z.B. als Link müssten sie eigentlich trotzdem interpretiert werden.
Test:
http://www.mobile.de/cgi-bin/da.pl?bereich=pkw&id=11111111239524040&sr_qual=&sprache=1
|
|
X_FISH - 50
Champion
(offline)
Dabei seit 06.2003
3795
Beiträge
|
|
Geschrieben am: 06.01.2007 um 21:05 Uhr
|
|
Hm... Okay... Ich habe vergessen wie die TU-Forensoft mit so vielen Steuerbefehlen umgeht bzw. nicht umgeht. 
Nimm einfach den mobile.de-Link und tausche die & in die "& amp;" um. Er funktioniert trotzdem.
|
|
fat32
Experte
(offline)
Dabei seit 09.2006
1465
Beiträge
|
|
Geschrieben am: 06.01.2007 um 21:09 Uhr
|
|
Ne, du hast da was falsch verstanden
ich will die & in links zu & amp; machen, weil ich das w3c-bildchen auf miener seite haben will 
und wenn ich jetzt mit str_replace replace, dann macht er aus & nbsp; & nbsp; nbsp (was ich nicht will)
|
|
X_FISH - 50
Champion
(offline)
Dabei seit 06.2003
3795
Beiträge
|
|
Geschrieben am: 06.01.2007 um 21:15 Uhr
|
|
Leider verstehe ich es nicht. Hier fehlt eindeutig ein [code]-Tag.
|
|
fat32
Experte
(offline)
Dabei seit 09.2006
1465
Beiträge
|
|
Geschrieben am: 06.01.2007 um 21:17 Uhr
|
|
Zitat von X_FISH: Leider verstehe ich es nicht. Hier fehlt eindeutig ein [code]-Tag. 
Was verstehtst du nicht?
Ja, der fehlt
|
|
fat32
Experte
(offline)
Dabei seit 09.2006
1465
Beiträge
|
Geschrieben am: 06.01.2007 um 21:18 Uhr
Zuletzt editiert am: 06.01.2007 um 21:24 Uhr
|
|
ob_start();
INHALT VON MEINER SEITE
$output = ob_get_contents();
ob_end_clean();
$output = str_replace("&", "&", $output);
echo $output;
so mach ich das bis jetzt
aber wenn ich auf meiner seite jetzt z.B. & nbsp; stehen hab, dann ersetzt er das "&" von "& nbsp;" wieder mit "& amp;" und dann kommt "& amp; nbsp;" raus, was ich nicht will
wenn jetzt aber wo steht:
< a href="index.php?a=1&b=2 " >Link < /a>
dann soll aus dem "&" im Link ein "& amp;" werden. (weil der w3c validator das so will)
der link soll also zu
< a href="index.php?a=1& amp;b=2 " >Link < /a>
werden
ich brauch ne funktion, die alle & durch & amp; ersetzt, die nicht teil eines HTML-zeichens sind
|
|
X_FISH - 50
Champion
(offline)
Dabei seit 06.2003
3795
Beiträge
|
|
Geschrieben am: 06.01.2007 um 21:33 Uhr
|
|
Ah, jetzt! 
Meines Wissens ist es in Ordnung das in HTML-Tag, speziell in dem Anchor, in dem Code-Bereich zulässig. Sprich als Link mit Übergabeparametern darf das & verwendet werden. Im Linktext muss das Zeichen umgewandelt werden.
Der Validator kann dies nicht unterscheiden und meckert jedes Zeichen innerhalb des body-Bereichs an.
|
|
X_FISH - 50
Champion
(offline)
Dabei seit 06.2003
3795
Beiträge
|
|
Geschrieben am: 06.01.2007 um 21:38 Uhr
|
|
Literatur: über's ampersand.
Die Lösungsmöglichkeit ein anderes Zeichen als das & zu verwenden wird dort auch beschrieben. Aber ob sich der Aufwand lohnt?
Ansonsten: Tauschreihenfolge ändern oder eben die von mir bereits genannten Funktionen ausprobieren. Da diese auf einmal ablaufen werden keine solchen Fehler vorkommen wie es bei dir jetzt der Fall ist.
|
|
fat32
Experte
(offline)
Dabei seit 09.2006
1465
Beiträge
|
|
Geschrieben am: 06.01.2007 um 21:40 Uhr
|
|
Zitat von X_FISH: Literatur: über's ampersand.
Die Lösungsmöglichkeit ein anderes Zeichen als das & zu verwenden wird dort auch beschrieben. Aber ob sich der Aufwand lohnt?
ne, das is zu aufwänding
Zitat von X_FISH:
Ansonsten: Tauschreihenfolge ändern oder eben die von mir bereits genannten Funktionen ausprobieren. Da diese auf einmal ablaufen werden keine solchen Fehler vorkommen wie es bei dir jetzt der Fall ist.
Was meinst du mit Tauschreihenfolge ändern?
|
|
fat32
Experte
(offline)
Dabei seit 09.2006
1465
Beiträge
|
|
Geschrieben am: 06.01.2007 um 21:53 Uhr
|
|
Gibt es eigentlich noch ne andere möglichkeit, als alles mit ob_start zu buffern?
weil das is ja auch ncih grad das schnellste
|
|
X_FISH - 50
Champion
(offline)
Dabei seit 06.2003
3795
Beiträge
|
|
Geschrieben am: 06.01.2007 um 21:58 Uhr
|
|
Da bin ich der falsche Ansprechpartner. Das ich was wirklich aktiv mit PHP gemacht habe liegt jetzt fast über 3 Jahre zurück... Meine gelegentlichen Programmierfingerübungen für den Privatgebrauch halten mich nicht wirklich soooo fit.
Aber: Wird sich schon ein TUler melden, oder? Mal einen herwinken:
|
|
Caarcrinolas - 41
Profi
(offline)
Dabei seit 02.2006
909
Beiträge
|
Geschrieben am: 08.01.2007 um 16:57 Uhr
Zuletzt editiert am: 08.01.2007 um 16:59 Uhr
|
|
Zitat von X_FISH: Da bin ich der falsche Ansprechpartner. Das ich was wirklich aktiv mit PHP gemacht habe liegt jetzt fast über 3 Jahre zurück... Meine gelegentlichen Programmierfingerübungen für den Privatgebrauch halten mich nicht wirklich soooo fit.
Aber: Wird sich schon ein TUler melden, oder? Mal einen herwinken:

Naja ich halte mich generell aus solchen Postings raus, da ich ansonsten nett im anderen Sinne werde,,,,,
Für dich ist sicherlich die richtige Community www.php-resource.de/forum
Eines der kompetentes Foren im Hinblick auf PHP-Experten Niveu.
Allerdings sei auch gesagt, dass der Ton "rauh" ist.....D.h. angepinnte Threads sollten gelesen werden insbesondere das richtige Formatieren mit den [ php ] [ /php ] Tags. Abgesehen davon sollte bei einer Auflösung von 1024/768 keine horizontalen Scrollbalken auftreten sonst wird niemand antworten....
Wobei auch die Devise ist Hilfe zur Selbsthilfe. Sporatische Manual nicht lesen woller werden hier weder eine eierlegende Wollmilchsau vorfinden noch auf Verständnis stossen. Mir wars immer wurscht wie andere User sich mit den Moderatoren auseinandersetzen, ich habe dort viel gelernt.
Aristoteles: "Es gibt kein großes Genie ohne einen Schuß Verrücktheit."
|
|