View previous topic :: View next topic |
Author |
Message |
liban0n
Joined: 10 Feb 2004 Posts: 128 Location: Dubrovnik, Zagreb
|
Posted: 28.07.2004 19:24 Post subject: eregi ili nesto slicno ?? |
|
|
Pozdrav svima ... naisao sam na jedan problem i nikako ga rijesiti.
Pa ako moze pomoc od vas starijih i iskusnijih :
naime imam string:
$ovo = "ovo je tekst koji zelim otkinuti tj. maknuti sve nepotrebno i sto ne zelim pa kako da to uradim";
ako mu zadam dvije :
$prva = "zelim otkinuti";
$druga = "kako da";
E sada kako da mi on od $ovo otkine sve van $prve i $druge a ostavi samo text izmedju.
$prva i $druga bi bili kao granice od kojih kida tekst!
Hvala unaprijed!!! |
_________________ mount -t swap /dev/brain /mnt/head
look'n for a job |
|
Back to top |
|
|
maxy
Joined: 07 Sep 2003 Posts: 894 Location: Zagreb
|
Posted: 28.07.2004 21:23 Post subject: |
|
|
$tekst = "ovo je tekst koji zelim otkinuti tj. maknuti sve nepotrebno i sto ne zelim pa kako da to uradim";
$trazi = array ( 'zelim otkinuti', 'kako da');
$zamjeni = array('', ''); // prazno dakle, ili neki replacement text
preg_replace($trazi, $zamjeni, $tekst);
ima i brzih nacina..uglavnom, za svaki unos u $trazi array-u moras dodat unos u $zamjeni arrayu. |
|
|
Back to top |
|
|
liban0n
Joined: 10 Feb 2004 Posts: 128 Location: Dubrovnik, Zagreb
|
Posted: 28.07.2004 21:51 Post subject: |
|
|
ma ne to znam ...
nisi skontao sta sam mislio ( ali ne krivim te )
trebam otkinuti sve prije prvog i sve poslije drugog znaci da sve zamjenim sa ""
a kako ??
hvala ti |
_________________ mount -t swap /dev/brain /mnt/head
look'n for a job |
|
Back to top |
|
|
maxy
Joined: 07 Sep 2003 Posts: 894 Location: Zagreb
|
Posted: 28.07.2004 22:06 Post subject: |
|
|
da ti budem iskren, sad ni meni ovak na brzinu ne uljece nesto u glavu..a danas sam bas radio s time. napisat cu ti sutra rjesenje kad se naspavam ukoliko se ne nadje netko tko ce ti pomoci prije.
good night |
|
|
Back to top |
|
|
smasher
Joined: 10 Jan 2004 Posts: 229 Location: Zaprešić
|
Posted: 28.07.2004 23:03 Post subject: |
|
|
e to ti je malo kompliciranije, ja sam to napravio za svoj sajt, pa ako hoćeš mogu ti prepravit kod, da ga skužiš?
uglavnom ja sam prvo napravio da mi prebroji sva slova, i onda sa stringom $prva doznao mjesto charactera di počinje ta zadana riječ ili više njih, i isto tako sam dobio za $druga... znači sad imam poziciju di počinje $prva i $druga, i ukupan broj charactera.
pa sam onda ukupnom broju oduzeo poziciju varijable $druga, i tako dobio broj charactera koje želim maknuti sa desne strane. --to je teži dio kao bio...
a za ovaj prvi dio je lako...
znam da me nisi skužio, zato ću postat sad kod.... |
_________________ http://3DHR.net - Srce hrvatskih 3d artista
http://www.Rhino3DHelp.com |
|
Back to top |
|
|
smasher
Joined: 10 Jan 2004 Posts: 229 Location: Zaprešić
|
Posted: 28.07.2004 23:06 Post subject: |
|
|
Code: | <?php
$newstring = '<img src="images/int_ip/thumbs/coloman_fr.jpg" width="200" height="100" border="0">';
$left = "<img src=\"";
$right = "\" width=\"200\" height=\"100\" border=\"0\">";
//***NADJI POZICIJU NO1**********************
$pos = strpos($newstring, $left, 1);
//*******************************************
//***NADJI POZICIJU NO2**********************
$pos2 = strpos($newstring, $right, 1);
//*******************************************
$poss = $pos + 10;
//***ZBROJI SVE CHARACTERE*******************
$result = count_chars($newstring, 0);
$count = 0;
for ($i=0; $i < count($result); $i++) {
if ($result[$i] != 0)
$count += $result[$i];
}
//*******************************************
$sum = $count - $pos2;
$final = substr($newstring, $poss, -$sum);
echo $final;
?> |
ono što dobiješ kao rezultat:
Code: |
images/int_ip/thumbs/coloman_fr.jpg
|
|
_________________ http://3DHR.net - Srce hrvatskih 3d artista
http://www.Rhino3DHelp.com |
|
Back to top |
|
|
liban0n
Joined: 10 Feb 2004 Posts: 128 Location: Dubrovnik, Zagreb
|
Posted: 29.07.2004 00:27 Post subject: |
|
|
to je proces
meni treba automatski da mi briše ... a baš me i zanima kako to riješiti preko regexpova ! |
_________________ mount -t swap /dev/brain /mnt/head
look'n for a job |
|
Back to top |
|
|
liban0n
Joined: 10 Feb 2004 Posts: 128 Location: Dubrovnik, Zagreb
|
Posted: 29.07.2004 09:44 Post subject: |
|
|
$n = eregi_replace("([-/.a-zA-Z0-9_~#<>@%$?&=:\200-\377\(\)[:space:]]+)$prva", "", $ovo);
$f = eregi_replace("$druga(.*)", "", $n);
I dobijemo rezultat željeni
koliko patnje za ovo |
_________________ mount -t swap /dev/brain /mnt/head
look'n for a job |
|
Back to top |
|
|
liban0n
Joined: 10 Feb 2004 Posts: 128 Location: Dubrovnik, Zagreb
|
Posted: 29.07.2004 14:42 Post subject: |
|
|
Evo dobio sam tocno rjesenje pa ako ce kome slucajno ustrebati :
preg_replace("/^.*$prva(.+)$druga.*$/", "\\1", $ovo); |
_________________ mount -t swap /dev/brain /mnt/head
look'n for a job |
|
Back to top |
|
|
liban0n
Joined: 10 Feb 2004 Posts: 128 Location: Dubrovnik, Zagreb
|
Posted: 30.07.2004 21:59 Post subject: |
|
|
maxy pitanje za tebe :
jeli ima kakav tutorial o regexpovima na "našem" jeziku ??? |
_________________ mount -t swap /dev/brain /mnt/head
look'n for a job |
|
Back to top |
|
|
|