preg_replace('/([0-9]\.)/smi',"<br/>$1",$metin);
Arkadaşım
bu konuda verdiğim patterni sormuşsun, bari ben de açıklayayım, bir nebze katkısı olsun:
preg_replace('/([0-9]\.)/smi',"<br/>$1",$metin);Burada / karakterleri pattern başlangıç ve bitişini belirtiyor. ( '/pattern/')
([0-9]\.)
0'dan 9'a kadar herhangi bir sayı ve bir nokta (1. , 2. vs.) nokta karakteri özel anlam taşıdığı için \ ile escape yapılıyor, nokta karakteri olduğunu belirtmek için.
smi
(\n satır sonu dahil tüm karakterler(s), multiline(m) ve büyük küçük duyarsız(i) ) anlamını taşır.
replace yapılacak kısım ise :
"<br />$1"
patternde bulunan değeri, baş tarafına <br /> ekleyerek kendisiyle değiştirmesi anlamına gelir. Yani $1 preg_replace nin metinde bulacağı eşleşme anlamına gelir. Eğer patternimizde 2-3 farklı yer olacak olsaydı, onarın eşleşme numarasını yazacaktık $2 veya $3 gibi.
İşlem sonunda preg_replace fonksiyonu metin içinde geçen
1.,
2. ,
3. olan kısımları
<br />1.,
<br />2. ,
<br />3. haline getirir.
.