DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Sva početnička pitanja (http://www.devprotalk.com/forumdisplay.php?f=40)
-   -   preg_replace problem :) krajnje cudno (http://www.devprotalk.com/showthread.php?t=7966)

flash_back 16. 10. 2009. 02:30

Citat:

Originalno napisao mileusna (Napišite 74112)
Ja te batice ne kontam:

Kôd:

$in = 'test [img ]http://images.businessweek.com/ss/06/07/top_brands/image/bmw.jpg[/img] test';
$out = preg_replace('/\[img\](.*)\[\/img\]/iU', '<img src="$1"/>', $in);
echo $out;

// ovo daje
// test <img src="http://images.businessweek.com/ss/06/07/top_brands/image/bmw.jpg"/> test

Koji je tu problem?!

cek, nismo se razumeli izgleda :lost:

sad cu za min :)

mileusna 16. 10. 2009. 02:33

Tema je na pravom mestu. :)


Kôd:

$pretraga[7] = '/\[img\](.*)\[\/img\]/iU';
$slika = preg_replace($pretraga[7], '$1', $neki_tekst);
               
list($width, $height, $type, $attr) = @getimagesize($slika);

Ti posle preg_replace ne dobiješ URL u promenljivoj $slika već ceo tekst gde je [img]url[/img] zamenjeno samim URL-om, ali ceo tekst i dalje ostaje. Nakon toga, logično je da kad taj string pošalješ na getimagesize ne dobiješ ništa jer nisi poslao validan url/filename?!

bluesman 16. 10. 2009. 02:35

Ako sam ja dobro razumeo tebi nije problem regular expression, tebi je frka sa getimagesize?

Ako je to, treba da znaš da neke slike ne sadrže "size information", da li si probao sa različitim slikama ili drljaš jednu za probu pa kao ne radi? Funkcija vraća false ako ne može da pronađe info ili file ne postoji.

flash_back 16. 10. 2009. 02:37

moja greska druze, eto sta se desi kada radis po 24h kao masina :(

totalno sam se prebacio, ne znam sta mi bi :) ja sam pomislio da pattern cisti ceo string i vraca samo URL :1046: my bad :1083:

nego vec sam umoran, jer mogu da te zamolim oko patterna, umesto trenutnog koji vraca string sa URL-om ('/\[img\](.*)\[\/img\]/iU') da vrati samo url, ociscen string? ajde molim te ako te ne mrzi, vec sam umoran, vidis i sam sta se desava kada preceras :D

TNX ;)

mileusna 16. 10. 2009. 02:37

@bluesman Problem je što preg_replace koristi pogrešno. :) Taj string koji prosledi na getimagesize() nije URL već tekst celog posta, i logično je da dobije trubu od getimagesize()

@flash_back Pattern je dobar, ali koristiš pogrešnu funkciju, tebi ne treba preg_replace u tom delu jer ništa ne "riplesuješ", već preg_match da izvučeš URL-ove.

bluesman 16. 10. 2009. 02:38

Off Topic: Moraćemo da napravimo neki template za postavljanje pitanja

mileusna 16. 10. 2009. 02:44

Off Topic: I dobismo novu temu od 15 poruka... Eto zašto našoj civilizaciji preti information overload :)

flash_back 16. 10. 2009. 02:44

Citat:

Originalno napisao bluesman (Napišite 74116)
Ako sam ja dobro razumeo tebi nije problem regular expression, tebi je frka sa getimagesize?

Ako je to, treba da znaš da neke slike ne sadrže "size information", da li si probao sa različitim slikama ili drljaš jednu za probu pa kao ne radi? Funkcija vraća false ako ne može da pronađe info ili file ne postoji.

da da :) evo malo pre sam posumljao za minut u sebe :1046: dobar je onaj kod, ja samo vadim URL iz njega i prosledjujem ga u getimagesize() funkciju :D dugo radim pa sam nesto umislio da nisam dobro postavio upit :1038: ne mojte duze od 8h da radite, nije dobro za zdravlje :D

da, probao sam sa razlicitim slikama razlicitih dimenzija.. problem je konkretno jer funkcija jednostavno propusti ceo string post, uopste ga ne ocisti :(

Kôd:

$pretraga[7] = '/\[img\](.*)\[\/img\]/iU';

$slika = preg_replace($pretraga[7], '$1', $tekst);
               
list($width, $height, $type, $attr) = getimagesize($slika);

$slika se vrati kao cela funkcija... izvinite, toliko sam za kompom da zadnjih sat vremena ne znam vise sta radim :)

flash_back 16. 10. 2009. 02:46

Citat:

Originalno napisao mileusna (Napišite 74118)
@bluesman Problem je što preg_replace koristi pogrešno. :) Taj string koji prosledi na getimagesize() nije URL već tekst celog posta, i logično je da dobije trubu od getimagesize()

@flash_back Pattern je dobar, ali koristiš pogrešnu funkciju, tebi ne treba preg_replace u tom delu jer ništa ne "riplesuješ", već preg_match da izvučeš URL-ove.

daj baci to molim te da mi skratis muke :) ako nastavim ovako moracu malo kod psihica, cisto onako informativno da vidim sta radi :D

flash_back 16. 10. 2009. 03:04

..i? meni je blokirao mozak :D evo, ravno skoro 24h za kompom ;) ako mozete bacite taj kod, ako ne izmozgacu ga sutra kad ustanem :)

hvala svima na pomoci :)


Vreme je GMT +2. Trenutno vreme je 22:13.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.