phpbar.de logo

Mailinglisten-Archive

[php] Wert ersetzen in Variable

[php] Wert ersetzen in Variable

Dennis Sterzenbach lists at darknoise.de
Son Dez 19 09:15:59 CET 2004


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