![]() | |
| | #1 (permalink) |
| Üye Üyelik Tarihi: 04/2007
Mesaj: 15
|
İlk soruma cevap gelmedi, basitleştirerek soruyorum. Kod: <script type="text/javascript">
function degistir()
{
degisecek = document.getElementById('nedir').innerHTML;
var intIndexOfMatch = degisecek.indexOf("proje");
while (intIndexOfMatch != -1)
{
// Relace out the current instance.
degisecek = degisecek.replace("proje", "<b>proje</b>"+u)
// Get the index of any next matching substring.
intIndexOfMatch = degisecek.indexOf("proje");
}
alert(degisecek);
}
</script>
Nereyi atlıyorum, indexOf'un içinde bir pointer mı var ilerletmem gereken ki sürekli aynı sözcükte takılıp sonsuz döngüye girmesin? |
| | |
| | #2 (permalink) |
| Üye Üyelik Tarihi: 06/2004 Yer: İstanbul
Mesaj: 2,264
|
Nedeni çok açık değil mi? "proje" kelimesini "<b>proje</b>" ile değiştirmeye çalışıyorsun, kontrol kriteri olarak ta değiştirmek istediğin kısmın, metnin içinde olup olmadığını kontrol ediyorsun. Her iki kısımda da "proje" kelimesi geçtiğinden haliyle script taşma hatası verecektir. Hem RegExp dururken basit bir replace olayı için tarayıcıyı bu kadar yormaya ve uzun işlem yapmaya zorlamak gereksiz. Kodlarını aşağıdaki gibi değiştirirsen metin içindeki tüm "proje" kelimeleri kalın olarak geri dönecektir. Kod: function degistir()
{
degisecek = document.getElementById('nedir').innerHTML;
degisecek = degisecek.replace(/proje/gi, "<b>proje</b>");
return(degisecek)
}
document.write(degistir())
__________________ tuncay.kinali.net |
| | |
| | #3 (permalink) |
| Üye Üyelik Tarihi: 04/2007
Mesaj: 15
|
Sniper, teşekkür ederim. Dediğin gibi kullanınca çalışıyor. Benim esas istediğim, bu değişimi sayfada mesela 3 kere yapsın. /g enables "global" matching. When using the replace() method, specify this modifier to replace all matches, rather than only the first one. Buradaki /g benim bu isteğimi engelliyor ve yine başa dönüyorum. g'yi kaldırsam yine eskisi gibi ilk rastladığı yerin üzerinde takılıyor, ötesine gitmiyor. Bunun ne gibi bir çözümü olabilir?. |
| | |
| | #4 (permalink) |
| Üye Üyelik Tarihi: 04/2007
Mesaj: 15
|
PHP karşılığı bu ve istediğim gibi çalışıyor. Ama client-side olması daha mantıklı. Kod: while ($satir = mysql_fetch_array($sorgu))
{ // değişim array'ı dinamik olarak oluşuyor.
$bunu[] = "/".$satir[0]."/"; //i yok, case sensitive olması lazım.
$bunla[] = '<a href="nedir.php?baslik='. urlci($satir[0]) . '&id=' . $satir[1] . '" onMouseOver="nGoster(\''.urlci($satir[0]).'\'); return true;" onMouseOut="nGizle();" class="nedir">'.$satir[0].'</a>';
}
$nedirize = preg_replace($bunu, $bunla, $degistir, 3);
|
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| ASP ş, ı, ğ replace | paranoid | ASP | 2 | 05/04/2007 14:15 |
| Javascript+Replace+<> tagları [] çevirme hakkında | Acemi2007 | Javascript / DHTML / Ajax | 0 | 14/02/2007 19:50 |
| Mysql Replace sorusu? | pirilti | Veritabanları & SQL | 1 | 28/06/2006 13:12 |
| replace ??? | DotNetKid | ASP | 2 | 05/04/2004 01:04 |
| replace | Sahin | PHP | 15 | 18/05/2003 18:56 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |