2012-02-10 22 views
5

PHP'nin preg_quote eşdeğeri nedir?PHP'nin preg_quote'unun karşılığı nedir?

public static string f_get_string_between(string text, string start, string end) 
    { 
     //both these attempts below throw an unrecognized escape sequence error 
     //start = "\Q"+start+"\E"; 
     //end = "\Q"+end+"\E"; 

     Regex regex = new Regex(start + "(.*?)" + end); 
     var v = regex.Match(text); 
     text = v.Groups[1].ToString(); 
     return text; 
    } 

cevap

7
+0

Regex.Escape yaklaşıyor ancak bazı senaryolarda biraz farklı görünüyor. Özellikle, bir sorun yaratabilecek veya olmayabilecek "]" karakterlerinden kaçmaz. –

0

Orada C# preg_quote için hiçbir doğrudan yerine geçer ama sadece bunu yapmak için kendi fonksiyon yazabiliriz:

Ancak bu kadar kazanılmış gibi bir dize metin ayıklar bir yöntem yaratmak içindir . PHP el kitabından, işlev tarafından kaçtılan karakterler şunlardır: . \ + * ? [^] $ () { } = ! < > | : -, böylece bir dize alan bir işlev yazıp, bu karakterlerden herhangi birini kaçarsınız.

İlgili konular