Ben bir CSS editörü kuruyorum ve CSS belgeden veri almak, düzenli bir ifade oluşturmak için çalışıyorum. Ben bir özelliği var ama tüm özellikleri için işe alınamıyor Bu regex çalışır. PHP gebelik / perl sözdizimi kullanıyorum.
Regex
(?<selector>[A-Za-z]+[\s]*)[\s]*{[\s]*((?<properties>[A-Za-z0-9-_]+)[\s]*:[\s]*(?<values>[A-Za-z0-9#, ]+);[\s]*)*[\s]*}
Test case
body { background: #f00; font: 12px Arial; }
Expected Outcome
Array(
[0] => Array(
[0] => body { background: #f00; font: 12px Arial; }
[selector] => Array(
[0] => body
)
[1] => Array(
[0] => body
)
[2] => font: 12px Arial;
[properties] => Array(
[0] => font
)
[3] => Array(
[0] => font
)
[values] => Array(
[0] => 12px Arial
[1] => background: #f00
)
[4] => Array(
[0] => 12px Arial
[1] => background: #f00
)
)
)
Real Outcome
Array(
[0] => Array
(
[0] => body { background: #f00; font: 12px Arial; }
[selector] => body
[1] => body
[2] => font: 12px Arial;
[properties] => font
[3] => font
[values] => 12px Arial
[4] => 12px Arial
)
)
Teşekkür peşin herhangi bir yardım için - bu bana bütün öğleden sonra kafa karıştırıcı oldu!