Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
eregi_replace problem [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-consult PHP Entwicklung
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
eregi_replace problem


 
dESIGN
20-05-2002, 17:31 
 
Hallo,

ich moechte mittels eregi_replace buchstaben von a-z in kleine images umwandeln, das klappt auch prima.. nur moechte ich auch gerne html <tags> fuer zb. zeilenumbrueche nutzen... dieses funktioniert dann aber nicht da die buchstaben innerhalb der '<>' ebenfalls in images umgewandelt werden.. kann man das irgendwie loesen? so das ich html tags nutzen kann?

Vielen Dank.

Ps. ein kleines beispiel waere nett. :)

 
mkJack
21-05-2002, 00:19 
 
Ein paar Details wären ganz gut. Poste mal den Teil deines Codes zum Wandeln.

 
dESIGN
21-05-2002, 08:05 
 
:D

also da gibts eigentlich nicht viel zu posten ich mache das so:

$text = eregi_replace("b","<img src=b.gif>",$text);


und nun hab ich das problem das halt wenn ich <br> mache wird das b als image dargestellt und der tag funktioniert ja logischerweise dann auch nicht mehr.

 
JanS
21-05-2002, 10:58 
 
Hallo,

sehr knifflig, aber probiere es mal so:

$text = preg_replace("/((<[^>]*)|[a-z])/ie", '"\2"=="\1" ? "\1" : "<img src=\"\1.gif\">"', $text);

Gruß Jan

 
dESIGN
21-05-2002, 11:08 
 
Hallo,

es funktioniert auch prima, super Danke @all.

:D

 
dESIGN
21-05-2002, 12:08 
 
noch eine frage..

wie kann ich automatisch fuer jeden buchstaben ein image einfuegen lassen?


*: "<img src=\"\1.gif\">"', $text);


laed ja nur 1.gif ... jetzt moechte ich aber das das system checkt.. "ahh, hier steht ein "a" also lade a.gif ... bei b==b.gif und so weiter .. halt um die ganze schreib arbeit zu umgehen...

also *.gif wobei * immer durch den gefundenen buchstaben (oder Zahl) ersetzt wird.

Danke!

 
JanS
21-05-2002, 12:19 
 
Nein, \1 stellt die Backreferenz dar, also den gefundenen Buchstaben. Wenn also "a" ausserhalb eine HTML-Tags gematcht wird, wir "a" durch "<img src="a.gif"> eretzt.

Das ganze funktioniert momentan nur mit Buchstaben, so sollte es auch mit Zahlen funktionieren:

$text = preg_replace("/((<[^>]*)|[a-z0-9])/ie", '"\2"=="\1" ? "\1" : "<img src=\"\1.gif\">"', $text);


Gruß Jan

 
dESIGN
21-05-2002, 12:30 
 
Ok, schade aber danke nochmal!

 
JanS
21-05-2002, 13:37 
 
Ähh, sorry. Ich hab mich wohl falsch ausgedrückt. :rolleyes:
Denk Dir einfach das erste "Nein" in meinem letzten Posting weg.

Der Code den ich oben gepostet habe funktioniert!!
Jeder Buchstabe und jede Zahl wird durch den HTML-Code für das entsprechende Bildchen ersetzt.

Gruß Jan

 
dESIGN
21-05-2002, 14:47 
 
:D

ah, okay, jep habs gerade nochmal getestet und es funktioniert super, vielen Dank @JanS , Du hast mir echt weitergeholfen. :)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:02 Uhr.