Merhabalar;
1. satır: Var olan ifade="kffğ*0ol08ıukıdo8[abk]prktc[/abk]dfdffş09şhjgbnd;
2. satır: Olmasını istediğim="<html:/prktc/body>";
formuna sokmak istiyorum...
kırmızı gösterilen yerleri temizleyip mavi olan yeri ikinci satırdaki yere ekleyecek.
Bu ifadeden bir sürü var. Kolay yoldan değiştirmek istiyorum. php olur, javascript olur, c olur, java olur farketmez... Herhangi bir programlama dili ile yapılabilir mi?
Yani [abk][/abk] arasındaki stringi alıp <html:/buraya/body> ekleyecek... Yalnız ifade de abk dan çok fazla sayıda var (50 tane...). hepsinden bulup ayıklayacak...
Bir ifadeden belirli bir cümleyi bulup onu alıp, başka bir cümleye eklemek
7
●396
- 04-06-2013, 20:18:15Şöyle yaptım ama ilk baştaki kff ile başlayan şeyleri silemedim. nasıl silecek?Byturkx adlı üyeden alıntı: mesajı görüntüle
<?php $dizge = 'kffğ*0ol08ıukıdo8[abk]prktc[/akk]dfdffş09şhjgbnd'; $sablonlar[0] = '/abk/'; $sablonlar[1] = '/akk/'; $yeniler[1] = 'html'; $yeniler[0] = 'body'; echo preg_replace($sablonlar, $yeniler, $dizge); ?>
kffğ ile başlayan şeylerin sırası sayısı sabit değil. kffğ ile de başlamayıp dağınık şekilde... [ simgesine kadar olan şeyleri silecek bir kod lazım açıkçası. ya da [abk] simgesini bulup ondan sonraki dizilimi başka stringlerle birleştirebileceğim bir kod lazım açıkçası.
türkçesi: [abk] yı bul sonraki 6 karakteri al şu stringde şuraya koy.
diyebileceğim bir kod. - 04-06-2013, 20:22:32webwebweb adlı üyeden alıntı: mesajı görüntüle
<?php $dizge = 'kffğ*0ol08ıukıdo8[abk]prktc[/akk]dfdffş09şhjgbnd'; $kes = explode('[abk]',$dizge); $kes = explode('[/akk]',$kes[1]); echo $kes['0']; ?> - 04-06-2013, 20:26:58Tam olarak aradığım buydu. Çok sağol.
Edit:
bu kod prktc yi veriyor. Çok sağol ama şöyle bir durum var: Daha fazla abk ve akk var ve sadece 1 tane prktc veriyor.
$dizge = 'kffğ*0ol08ıukıdo8[abk]prktc[/akk]dfıdo8[abk]ytktc[/akk]dfıdo8[abk]trktc[/akk]dfdffş09şhjgbnd';
olduğunda:
echo $kes['0'];
echo $kes['1'];
echo $kes['2'];..... gibi yazdım diğerlerini vermedi
hepsi ayrı ayrı prktc, ytktc ve trktc verebilecek şekilde yardım edersen çok sevinirim. - 05-06-2013, 02:02:59Üyeliği durduruldu
<?php $dizge ='kffğ*0ol08ıukıdo8[abk]prktc[/akk]dfıdo8[abk]ytktc[/akk]dfıdo8[abk]trktc[/akk]dfdffş09şhjgbnd'; $kes = explode('[abk]',$dizge); for($i=1;$i<(count($kes)-1);$i++) { $yeni = explode('[/akk]',$kes[$i]); foreach($yeni as $b) { echo $b.'<br>'; } } ?>Buyrun aradığınız böyle bir şey sanırım - 05-06-2013, 10:50:56Üyeliği durduruldu$dizge = 'kffğ*0ol08ıukıdo8[abk]prktc[/akk]dfdffş09şhjgbnd' ;
preg_match('#\[abk\](.*?)\[/akk\]#si",$dizge, $çıktı);
echo 'falan filan'.$çıktı[1].'falan filan';
edit: cok sayida cekmek icin
$dizge = 'kffğ*0ol08ıukıdo8[abk]prktc[/akk]dfdffş09şhjgbnd' ;
preg_match_all('#\[abk\](.*?)\[/akk\]#si",$dizge, $çıktı);
for($i=1;$i<=count($çıktı);$i++){
echo 'falan filan'.$çıktı[1][$i].'falan filan';}
kodda sorun olursa dizgedeki koseli parantezlerden kaynaklidir kod saglam.