İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Regex ustalarına soru

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,030
Reaction score
73
Konum
Sakarya
x. abcde, fghij. y. (aaa) 1. (bbbb) (ccccc) dddd: eeeeeeeeeeeeeeeeeeee.
x. abcde, fghij. y. (aaa) 1. eeeeeeeeeeeeeeeeeeee.
x. abcde, fghij. y. eeeeeeeeeeeeeeeeeeee.
x. abcde. y. eeeeeeeeeeeeeeeeeeee.

Bu satırların tümünü x. ve y. göre 2 ye bölebilecek PHP için regex e ihityacım var. Bu regex i preg_match_all fonsiyonunda kullanacağım.

Örnek vereyim
1.satır regex ten sonra şu şekilde olmalı
x. abcde, fghij.
y. (aaa) 1. (bbbb) (ccccc) dddd: eeeeeeeeeeeeeeeeeeee.

2.satır regex ten sonra şu şekilde olmalı
x. abcde, fghij.
y. (aaa) 1. eeeeeeeeeeeeeeeeeeee.

4. satır bu şekilde
x. abcde.
y. eeeeeeeeeeeeeeeeeeee.
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
regex bilemiyorum fakat, programın gidişatına uyar mı bilmem, şöyle bir yöntemde kullanabilirsiniz:

$bolunmus=explode("y.","x. abcde, fghij. y. (aaa) 1. (bbbb) (ccccc) dddd: eeeeeeeeeeeeeeeeeeee.");
echo $bolunmus[0]."<br>".$bolunmus[1];
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,030
Reaction score
73
Konum
Sakarya
regex bilemiyorum fakat, programın gidişatına uyar mı bilmem, şöyle bir yöntemde kullanabilirsiniz:

$bolunmus=explode("y.","x. abcde, fghij. y. (aaa) 1. (bbbb) (ccccc) dddd: eeeeeeeeeeeeeeeeeeee.");
echo $bolunmus[0]."<br>".$bolunmus[1];

Oncelikle öneri için teşekkürler, ancak split yada explode yapma şansım yok.

Yukarıda verdiğin kod örneğin şu satır için yanlış çalışacaktır:
x. abcde, fghiy. y. (aaa) 1. (bbbb) (ccccc) dddd: eeeeeeeeeeeeeeeeeeex.
 

Raiden

0
İyinet Üyesi
Katılım
13 Ocak 2005
Mesajlar
339
Reaction score
0
aşağıdaki işinizi çözer. dönen dizilere göre işlem yaparsınız kolay gelsin

PHP:
<?php
$kaynak ="x. abcde, fghij. y. (aaa) 1. (bbbb) (ccccc) dddd: eeeeeeeeeeeeeeeeeeee.
x. abcde, fghij. y. (aaa) 1. eeeeeeeeeeeeeeeeeeee.
x. abcde, fghij. y. eeeeeeeeeeeeeeeeeeee.
x. abcde. y. eeeeeeeeeeeeeeeeeeee.";
preg_match_all("#x\.(.*)y\.(.*)#im",$kaynak,$return);
//echo "<pre>";print_r($return);
for ($i=0; $i<count($return[1]); $i++)
{
	echo "x. ",$return[1][$i],"<br>";
	echo "y. ",$return[2][$i],"<br>";
	echo "---------<br>";
}
?>
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst