Mailinglisten-Archive |
Rainer Bendig aka Ny wrote:
> 1) Sollte in der Variable ein http:// https:// ftp:// mailto:
> vorkommen, soll die sha1 Summe des Links inkl. Protokoll, also
> sha1('http://www.foobar.de');, mit einer sha1 Summe einer Tabelle
> verglichen werden.
> 2) Kommt der Wert in der Tabelle vor soll der <a href="... durch ein
> <a href="file.php?link=$sha1summe ersetzt werden.
> 3) Kommt der Wert nicht in der Tabelle vor soll die sha1 Summe erzeugt
> werden, eingetragen werden und dann in der Variable ersetzt werden.
> 4) Sollten mehrere Links darin vorkommen soll natuerlich fuer jeden
> Link das Prozedre durchlaufen werden.
>
> Wie kann ich das realisieren?
Etwa in der Art:
1.) greif Dir alle Links mit preg_match_all: So in etwa mit
preg_match_all('#(http://|https://|ftp://|mailto:)([^ "]+)#i',
$EineMengePlaintext, $matches)
2.) Durchlauf das Array mit ner for-schleife und bilde für jeden
$matches[0][$i] deine sha1().
3.) Suche die, mach was getan werden muss
4.) Dann ein str_replace($matches[0][$c], /was soll nun hier stehen/,
$EineMengePlaintext);
Das müsste so eigentlich funktionieren - ggf. musst Du natürlich den
regexp bei 1.) anpassen...
HTH, Gruß
--
Dennis Sterzenbach
php::bar PHP Wiki - Listenarchive