Ereg nasıl değiştirilir?

3 Cevap php

Ben kullanmak zorunda ama yazmadım bazı php için aşağıdaki iletiyi alıyorum:

Deprecated: Function ereg() is deprecated in /opt/lampp/htdocs/webEchange/SiteWeb_V5/inc/html2fpdf.php on line 466

Bu çizgi 466 olduğunu:

if(ereg('^([^=]*)=["\']?([^"\']*)["\']?$',$v,$a3))

Henüz normal bir ifade ile çok iyi değilim ve bu çözümü ben sıradanifade ereg ihtiyaçlarını VE sıradanifade preg_match ihtiyaçlarını (öğrenmesini gerektirir .. ben sadece preg_match ile değiştirmeyi denedim, ama düzenli ifadede = değiştirici tanımıyor hangi yanılmıyorsam eğer,) farklı ... siz bu konuda bana yardım eder misin?

Teşekkürler

3 Cevap

Ve POSIX extended regular expressions (ereg tarafından kullanılan POSIX ERE), Perl-combatible regular expressions (preg_match tarafından kullanılan PCRE) çok benzerdir. Hariç some special POSIX expressions, PCRE POSIX ERE'nin bir üst kümesidir.

Yani sadece delimiters (burada /) içine POSIX ERE düzenli ifadeler koymak ve ifadenin içinde bu karakterin herhangi bir olay kaçmak gerekir ve geçerli bir PCRE düzenli ifade var demektir:

/^([^=]*)=["']?([^"']*)["']?$/

Yani:

preg_match('/^([^=]*)=["\']?([^"\']*)["\']?$/', $v, $a3)

Deneyin:

if(preg_match('~^([^=]*)=["\']?([^"\']*)["\']?$~',$v,$a3))

Preg_match'in yılında regex önerilmemektedir ereg () fonksiyonu ile durum böyle değil sınırlayıcı, bir çift arasında kapalı gerekmektedir.

preg_ aile regex ayrılmış için bekliyor. Yerine:

'^([^=]*)=["\']?([^"\']*)["\']?$'

deneyin:

'/^([^=]*)=["\']?([^"\']*)["\']?$/'