Nasıl bir url şerit ve aynı pozisyonda geri koymak için alabilirim?
Regexp için birçok yol RFC3986 ile uyumlu bir url bulunmamaktadır
C dizge olarak, regex olacak:
"^(([^:/?#]+):)?(//([^/?#]*)|///)?([^?#]*)(\\?[^#]*)?(#.*)?"
enum {
URL = 0,
SCHEME_CLN = 1,
SCHEME = 2,
DSLASH_AUTH = 3,
AUTHORITY = 4,
PATH = 5,
QUERY = 6,
FRAGMENT = 7
};
Enum yakalama endeksleri parçaları url hangi neye karşılık geldiğini ifade etmektedir.
Jeff Atwood bu karşılaşabileceği sorunlarla ilgili bilgilendirici bir yazı vardı:
http://www.codinghorror.com/blog/archives/001181.html
Basit bir regex ikamesi ile http://www.codinghorror.com/blog/archives/001181.html-- - Ne olursa olsun programlama dili ve kullanmak kütüphaneleri, sorunları, bazı durumlarda ile, diyelim ki, eğer olacaktır.
Ben çok sık PHP kullanmak istemiyorum, ama sorun preg_replace çağrısında kullanmak için desen anlamaya çalışıyorum aşağı kaynar.