PHP'de düzenli bir ifadede kullanmak için bir dizeden kaçmaya çalışıyorum. Şimdiye kadar denedim:PHP'de düzenli ifadede kullanmak için bir dizeden düzgün bir şekilde nasıl kaçınılır?
preg_quote(addslashes($string));
Ben düzgün dizede hiçbir tırnak hesaba katmak amacıyla addslashes
ihtiyaç düşündüm. Sonra preg_quote
düzenli ifade karakterlerinden kaçar. Bununla birlikte, sorun, tırnakların ters eğik çizgi ile, örn. \'
. Ancak , ters eğik çizgi ile başka bir örn. \\'
. Yani bu, alıntıyı bir kez daha açığa çıkardı. İki işlevi değiştirmek de işe yaramıyor, çünkü bu daha sonra özel bir düzenli ifade karakteri olarak yorumlanan bir unscaped ters eğik bırakacaktır.
Görevi tamamlamak için PHP'de bir işlev var mı? Ya da biri nasıl yapar?
Düzeninizin nerede? Bunu da gönderin –
Oh, problemin kullandığım gerçek regex'ten bağımsız olduğunu düşündüm. Şu anda '\ (? I) (? <=^| [^ A-z]) 'ı kullanmaya çalışıyorum. Preg_quote (addslashes ($ string)).' \ I 'çalışmıyor. – Daniel
Sınırlayıcılarınız yanlış, bunun yerine eğik çizgi veya tildes kullanın. addslash'ler işe yaramaz. 'Preg_quote' ikinci parametresini kullanın. '(? <=^| [^ A-z])' nin '(?