Ben bir metin parçası içinde tırnakla maç için çalışıyoruz ve de bunun içinde kaçtı tırnak için izin veriyorum. Ben bir online test bu düzenli ifade denedim ve mükemmel çalışıyor. Ben preg_match_all denemek Ancak, bu ilk kaçtı dize başarısız.
İşte kod:
$parStr = 'title="My Little Website"
year="2007"
description="Basic website with ..."
tech="PHP, mySQL"
link="<a href=\"http://test.com\">test.com</a>"
';
$matches = array();
preg_match_all('/(\w+)\s*=\s*"(([^\\"]*(\\.)?)*)"/', $parStr, $matches, PREG_SET_ORDER); // Match[4][0] is 'link="<a href=\"'
Sadece ilk kaçtı alıntı kadar eşleştirerek, son maçında başarısız. I http://www.regexplanet.com/simple/index.html bu ifadeyi çalıştığınızda, mükemmel çalışıyor.
Regex bir yerinde bir parçasıdır:
"(([^\\"]*(\\.)?)*)"
Olmayan kaçtı alıntı bulunana kadar maç tam olduğu, süreç, 0 veya daha fazla kez tekrar edildiği isteğe bağlı kaçan alıntı yiyerek ardından kaçan bir teklif veya teklif, kadarki tüm metin yemelisiniz hangi.
Neden bu php çalışmaz? Neden çalışmıyor ve nasıl tamir edilmelidir?