PHP Semikolon an String anfügen

MrStools

Lt. Commander
Registriert
Apr. 2001
Beiträge
1.078
Habe dieses hier in einer php-Datei (wordpress-theme Nictitate)

PHP:
$icon = '<i data-icon="' . $kopa_icons[$icon] . '"></i>';

Die Ausgabe ist dann z.B.

Code:
<i data-icon="&#xf015"></i>

Der HTML-Validator meckert über das fehlende Semikolon, also möchte ich das hier erzielen:

Code:
<i data-icon="&#xf015;"></i>

Das hier geht nicht:
PHP:
$icon = '<i data-icon="' . $kopa_icons[$icon] . ';'"></i>

Wie muß meine PHP-Zeile dafür aussehen?

Danke!
Ergänzung ()

omg ich sehe nur nur Anführungszeichen und Hochkommata, es ist wahrscheinlich ganz einfach.. :freaky:
 
Zuletzt bearbeitet: (typos)
So?
Code:
$icon = '<i data-icon="' . $kopa_icons[$icon] . ';"></i>';
 
Es ist wirklich recht einfach. Du hast ein einfaches Anführungszeichen zu viel nach dem Semikolon. Hab das folgende getestet und funktioniert bei mir:

Code:
$icon = '<i data-icon="' . $kopa_icons[$icon] . ';"></i>

Um die ganzen Anführungsstreifen zu vermeiden kannst du auch das folgende machen. Dabei wird die Variable innerhalb doppelter Anführungsstreifen automatisch ausgegeben.

Code:
echo "<i data-icon='$kopa_icons[$icon];'></i>";
 
Zuletzt bearbeitet:
Das ändert die Ausgabe nicht! Wie kann das sein? Habe schon die Seite neu geladen, einen anderen Browser benutzt. Ich mach jetzt einfach mal Pause.

Dank Euch!
Ergänzung ()

..offenbar muss ich die Stelle noch in einer anderen Datei ändern.
 
Keine Ahnung was ein DRY-Problem ist, habe es jetzt nochmal gecheckt, es ist schon der relevante Code, aber wenn ich ihn ändere kommt trotzdem kein ';' im Quellcode an. Klingt komisch, ist aber so. Und ja, ich habe die Datei überschrieben und die Seite neu geladen ;-)
 
Wie sieht der Code jetzt aus?
Browsercache gelöscht? Cache von WP gelöscht?
Der Code steht nicht noch irgendwo in einer anderen Datei oder Datenbank? Verwendest du auch das gerade geänderte Theme?
 
Zur Aufklärung: Eure Lösung ist genau richtig, ich habe mich im Cache-Dschungel verirrt.
Jetzt gerade habe ich im Quellcode geschaut, und siehe da, die ';' sind da. Also nochmal zum Validator, der zeigte aber alles an wie gehabt :-) Holt sich wohl (noch) eine gecachte Version.
Also immer schön alle Caches leeren wenn man Code verändert und sich dann wundert wo er bleibt.
 
Eigentlich schaltet man sämtliche Caches aus, solange man am Entwickeln ist, eben um genau so etwas zu vermeiden.
 
Ist ja gut. Da will man mal eben ein Semikolon einbauen, und dann.. verstehst du?

Wird nicht wieder vorkommen ;)
 
Zurück
Oben