Mailinglisten-Archive |
Simon Bienlein wrote:
> Hallo zusammen,
>
> ich möchte Akronyme, Abkürzungen und Sprachwechsel im HTML-Code
> automatisch auszeichnen. Das Skript, dass ihr unter
> www.linux-fuer-blinde.de/misc/auszeichnungen.txt
> findet, findet schon einzelne Worte und zeichnet diese aus. Allerdings
> ersetzt es auch in den Attributen href und alt.
>
> Eine mögliche Lösung wäre, dass das Skript nicht zwischen < und >
> ersetzt und außerdem die Elemente abbr, acronym, code, pre, textarea
> komplett ausshließt.
Also mir fällt dazu nur Zeichenweise durchgehen ein.
Also for-Schleife über den String und dann in diese Schleife (angenommen
$c ist der jewals aktuelle char):
$ergebnis ='';
$tmp ='';
$intags =false;
$wortesuch =Array('tag1','anderer-tag','abc');
$worteersatz =Array('ersatz für tag 1','erstaz für 2','def');
[Schleifenanweisung]
{
if ($intags) //wenn intags, dann einfach aktuelles Zeichen ignorieren.
{
if ($c =='>') $intags =false; //Es sei denn, es eendet intags
continue;
}
if ($c ==[Whitespace])
{
$ergebnis .=str_replace($wortesuch,$worteersatz,$tmp).$c;
$tmp ='';
}
elseif ($c =='<') $intags =true;
else $tmp .=$c;
}
Und dann steht das Ergebnis in $ergebnis.
Ist aber wahrscheinlich fürchterlich ineffizient.
>
> Für eure Hilfe wäre ich sehr dankbar.
>
> Schöne Grüße
> von Simon
Yannik
php::bar PHP Wiki - Listenarchive