Aradığım kelimenin öncesini ve sonrasını aşağıdaki örnekteki gibi silmek istiyorum.
$kayit='<p> Adı Ahmet Soyadı Kurt T.C. Kimlik no: 12345678910</p><p> Adı Ayşe Soyadı Sarı T.C. Kimlik no: 12345678912</p><p> Adı Murat Soyadı Yıldız T.C. Kimlik no: 12345678914</p><p> Adı Selim Soyadı Demir T.C. Kimlik no: 12345678916</p>';
$aranan="Yıldız";
// aşağıdaki kodu yazdım ama, bu kod, 3 satırdaki Yıldız'ı gördüğünde ilk 3 kaydı siliyor doğal olarak...
preg_match_all('@Soyadı(.*?)T.C. Kimlik no:@si', $kayit, $soyisimler);
foreach ($soyisimler[1] as $soyisim) {
if (strpos($soyisim, $aranan)!==false) {
$kayit= preg_replace('@<p> Adı(.*?)Soyadı'.$soyisim.'T.C. Kimlik no:(.*?)</p>@si', '', $kayit);
}
}
print_r($kayit);Örnekte Yıldız soyisimli kayıtları arıyorum. İsteğim ise bu soyisme sahip kayıt bulunduğunda, şu kısmın metinden silinmesi. <p> Adı Murat Soyadı Yıldız T.C. Kimlik no: 12345678914</p>
Örnek Kayıt:
<p> Adı Ahmet Soyadı Kurt T.C. Kimlik no: 12345678910</p>
<p> Adı Ayşe Soyadı Sarı T.C. Kimlik no: 12345678912</p>
<p> Adı Murat Soyadı Yıldız T.C. Kimlik no: 12345678914</p>
<p> Adı Selim Soyadı Demir T.C. Kimlik no: 12345678916</p>
Yukarıdaki kayıtta "Yıldız" ı arattığımda metin aşağıdaki gibi olmalı.
<p> Adı Ahmet Soyadı Kurt T.C. Kimlik no: 12345678910</p>
<p> Adı Ayşe Soyadı Sarı T.C. Kimlik no: 12345678912</p>
<p> Adı Selim Soyadı Demir T.C. Kimlik no: 12345678916</p>
Yardımcı olabilecek var mı?