Hallo.
Ich habe versucht, auf meiner Webseite eine kleine Lösung zu programmieren, bei der bestimmte Schlüsselwörter automatisch als Acronym ausgezeichnet werden. Der Code dafür sieht wie folgt aus:
Meine Datei glossar.txt hat das Format:
HTML</>Hypertext Markup Language
XHTML</>Extensible Hypertext Markup Language
gif</>Graphics Interchange Format
D.h. nach dem Trennzeichen kommt, wofür der Begriff steht.
Das Problem ist, dass mit der einfachen for-each Schleife jetzt z.B. auch in der $Content-Variable z.B.
<img src="lala.gif">
ersetzt wird und das zerschießt mir dann natürlich alles.
Gibt es eine Möglichkeit, damit das Skript erkennt, dass es, sollte es sich um HTML Code handeln, eben nichts ersetzt?
Im Endeffekt muss ich nur nach den "Einelementigen" HTML Tags ausschau halten. Die Tags, die bei mir im Content vorkommen sind eigentlich nur der <code>-Tag, <p>, <br>, evtl. mal <font>, <b> und noch ein paar andere Textauszeichnugen.
D.h. ich müsste eigentlich nur verhindern, dass das ganze in einem <img> Tag stattfindet...d.h. das Programm darf nichts ersetzten, was zwischen < > steht...
Wie kann man das umsetzten?
Grüße
devmag
Ich habe versucht, auf meiner Webseite eine kleine Lösung zu programmieren, bei der bestimmte Schlüsselwörter automatisch als Acronym ausgezeichnet werden. Der Code dafür sieht wie folgt aus:
PHP-Code:
<?php
if(!strstr($url, 'index')) {
$acronym = file("glossar.txt");
foreach($acronym as $elem) {
$erg = explode("<\\>",$elem);
$Content = str_replace($erg[0], "<acronym title=\"$erg[1]\">$erg[0]</acronym></a>", $Content);
}
?>
HTML</>Hypertext Markup Language
XHTML</>Extensible Hypertext Markup Language
gif</>Graphics Interchange Format
D.h. nach dem Trennzeichen kommt, wofür der Begriff steht.
Das Problem ist, dass mit der einfachen for-each Schleife jetzt z.B. auch in der $Content-Variable z.B.
<img src="lala.gif">
ersetzt wird und das zerschießt mir dann natürlich alles.
Gibt es eine Möglichkeit, damit das Skript erkennt, dass es, sollte es sich um HTML Code handeln, eben nichts ersetzt?
Im Endeffekt muss ich nur nach den "Einelementigen" HTML Tags ausschau halten. Die Tags, die bei mir im Content vorkommen sind eigentlich nur der <code>-Tag, <p>, <br>, evtl. mal <font>, <b> und noch ein paar andere Textauszeichnugen.
D.h. ich müsste eigentlich nur verhindern, dass das ganze in einem <img> Tag stattfindet...d.h. das Programm darf nichts ersetzten, was zwischen < > steht...
Wie kann man das umsetzten?
Grüße
devmag
Kommentar