PHP / Regex: Basit regex bbcode için [s] veya [grev] çalışmak için başarısız

0 Cevap php

Ben birine iki tanımları eklemek istedim saçma bir bbcode çözümleyici, benim orijinal tanımı preg_replace için bu oldu:

'#\[s\](.*?)\[/s\]#si', '<strike>\\1</strike>'

Ve bu işleri, ben de [s] veya [strike] bu formatta metin başlatmak için kullanmak mümkün olması için kullanıcı diledi, bu yüzden doğal olarak işe yarayacağını düşünerek böyle bir şey ekledi:

'#\[(s|strike)\](.*?)\[/(s|strike)\]#si', '<strike>\\1</strike>'

Ne yazık ki bunun yerine ne beklenir, başarısız, hem [s] ve [strike] (doğru kullanıldığında) yapmak: s and strike (Benim markdown gerçek görünümlü sonuç göstermek doğru olduğunu, bu s gösterir veya grev olursa bunun içinde ne)

Neden yerine etiket adı ile iç metin yerini alıyor? Sorunu grev | benim s parantez ekliyor? Ben muhtemelen bu yanlış yapıyorum ..

0 Cevap