The Night Shadow
31.01.2008, 17:36:43
Gubię się w wyrażeniach regularnych. Mam ciąg tego typu:
<img width="233" height="175" alt="" src="adresik_pnrazka"/>
Potrzerbuję funkcji używającej wyrażeń regularnych, która zamieni mi to na to:
<img width="233" height="175" alt="" src="res.php?width=175&height=175&adres=adresik_pnrazka"/>
Potzrebne totalnie na wczoraj
potreb
31.01.2008, 17:58:57
A nie możesz uzyć str_replace?
The Night Shadow
31.01.2008, 18:03:53
Nie ponieważ nie wiem jakei są wartości width i height
webdice
31.01.2008, 18:09:30
<?php
$str = '<img width="233" height="175" alt="" src="adresik_pnrazka"/>';
print preg_replace ('#<img width="([0-9]+)" height="([0-9]+)" alt="" src="([^"]+)"/>#', '<img width="$1" height="$2" alt="" src="res.php?width=$1&height=$2&adres=$3"/>', $str);
?>
EDIT: Mały błąd zrobiłem zmień sobie
Kod
&width=$1
na
Kod
&width=$2
The Night Shadow
31.01.2008, 18:35:33
Bomba tyle że wystąpił jeszcze jeden problem. Rozchodzi się o edytor TinyMCE. Jeśli zdjęcie jest zmniejszane poprzez edytor zdjęć wygląda to tak jak napisałem. Natomiast w przypadku zmniejszenia ręcznego w widoku edytora dodawane są style. W związku z tym mamy dwie możliwości:
<img src="adres" alt="" width="500" height="100" />
Oraz taką:
<img style="width: 500px; height: 233px" src="adres" alt="" width="500" height="100" />
I teraz pytanie co teraz bo w pierwszym przypadku mają być pobrane wartości z width i height, a w drugim ze styli...... WEBDICEPL? Da się z tym coś zrobić?
webdice
31.01.2008, 18:45:50
Coś takiego?
<?php
$str = '<img width="233" height="175" alt="" src="adresik_pnrazka"/>';
$str2 = '<img style="width: 500px; height: 233px" src="adresik_pnrazka" alt="" width="500" height="100" />';
{
print preg_replace ('#<img style="width: ([0-9]+)px; height: ([0-9]+)px" src="([^"]+)" alt="" width="500" height="100" />#', '<img width="$2" height="$2" alt="" src="res.php?width=$2&height=$2&adres=$3"/>', $str) }
else
{
print preg_replace ('#<img width="([0-9]+)" height="([0-9]+)" alt="" src="([^"]+)"/>#', '<img width="$2" height="$2" alt="" src="res.php?width=$2&height=$2&adres=$3"/>', $str); }
?>
EDIT: Znowu ten sam błąd zrobiłem, poprawiłem w kodzie.
The Night Shadow
31.01.2008, 18:57:05
Na to tez wpadłem tylko, że problem polega na tym, żę takich znaczników IMG możę być całe mnóstwo, a nie jeden. Chodzi o to by pobrać wszystkie i każy w zależności od rodzaju odpowiednio podmienic.......
potreb
31.01.2008, 19:23:26
Ehh, to może jednak str_replace

<?php
$tekst ='<img width="233" height="175" alt="" src="adresik_pnrazka"/>';
$wynik = str_replace('src="', 'src="res.php?width=175&height=175&adres=', $tekst); ?>
I tu problemów chyba nie będziesz już miał.
The Night Shadow
31.01.2008, 19:35:04
Potreb... to co piszesz jest bez sensu względem problemu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.