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