Ben şöyle bir metin dosyası var
{word} definition
{another word} another definition {word} they don't have to be on different lines
Ben kullanıyordum regex oldu
$regex = '/\{([a-z]+?)\}(.+?)\{/i';
Ancak bu, bu sorunlara neden o swallows son ayraç {ve o maç olmayacak bir sonraki kelime {yanında.
Göstermek için, ben hata ayıklama amaçları için yaptım
echo preg_replace($regex, '<b style="background-color: red;">$1</b><b style="background-color: yellow;">$2</b>', $content);
İşte benim çıkışına bir örnek (bu nedenle regex uyumlu değildir, yoktur bir sonraki kelime açılış kuşak fark) olduğunu
<b style="background-color: red;">shrub</b><b style="background-color: yellow;"> Multi stemmed woody plant</b>Abaxial} side or face away from the axis
Bunu nasıl işe almak için benim regex değiştirebilir miyim? Teşekkür ederim
EDIT
Cevaplar için çok teşekkürler. Ben bu yüzden gibi benim regex değiştirdim
$regex = '/\{([a-z\-\s]+?)\}([^\{]+)/i';
Ben de ileri yönlü makaleleri içine bakacağız.