Autor | Zpráva | ||
---|---|---|---|
Fuzzy Profil |
#1 · Zasláno: 9. 2. 2011, 10:23:34
Dobrý den,
potřeboval bych pomoc s úpravou IMG pomocí preg_replace: mám text: $text = "some text <img src=\"../obrazek.jpg\" alt=\"obrazek\" height=\"126\" width=\"200\" moreparameters=\"value\"> some text"; kde nahradím pomocí: $text=preg_replace('/(<img .*?src="(.+?)".*?>)/','<a href="\2">\1</a>',$text); a výsledek je: some text<a href="../obrazek.jpg"><img src="../obrazek.jpg" alt="obrazek" height="126" width="200" moreparameters="value"></a> some text a já bych chtěl poprosit o radu zda jde upravit reg. výraz tak, aby výsledek vypadal takto: some text <a href="../obrazek.jpg"><img src="resize.php?zdroj=../obrazek.jpg&width=200&heigh=300" alt="obrazek" height="300" width="200" moreparameters="value"></a> some text tedy aby se mi upravil atribut src tak aby původní src byl jako parametr, a hodnota width a height taky jako parametr. Děkuji za jakékoliv nakopnutí |
||
Časová prodleva: 5 dní
|
|||
Alphard Profil |
#2 · Zasláno: 14. 2. 2011, 21:01:23
To by nebyl pěkný regulár, zkuste preg_replace_callback().
|
||
lordfrikk Profil |
#3 · Zasláno: 15. 2. 2011, 00:37:19
Asi nějak takto?
<?php $text = "some text <img src=\"../obrazek.jpg\" alt=\"obrazek\" height=\"126\" width=\"200\" moreparameters=\"value\"> some text"; function addAnchor($matches) { return sprintf('<a href="%s"><img src="resize.php?zdroj=%s&width=%d&height=%d"></a>', $matches[1], $matches[1], $matches[2], $matches[3]); } echo preg_replace_callback('#<img.*?src="(.*?)".*?height="(.*?)".*?width="(.*?)"[^>]+>#i', "addAnchor", $text); ?> |
||
Časová prodleva: 13 let
|
0