Ben PHP markdown için normal bir ifade değiştirerek yardıma ihtiyacım var

0 Cevap php

Ben sayı 1, 2 ve 3 de Jeff tarafından açıklanan this blog post uygulamaya çalışıyor PHP Markdown (yığın taşması üzerine burada kullanılan işaretleme dili PHP çözümleyici) modifiye ettim. Ben kolayca son iki yaptık, ama bu çok zor çıkıyor:

  1. Removed support for intra-word emphasis like_this_example

Aslında, "normal" markdown uygulama like_this_example yılında this örnek gibi işlenmiş olacaktır. Bu çok istenmeyen bir durumdur; Ben sadece _example_ example olmak istiyorum.

Ben kaynak kodu baktı ve vurgu yapmak için kullanılan regex bulundu:

var $em_relist = array(
    ''  => '(?:(?<!\*)\*(?!\*)|(?<!_)_(?!_))(?=\S|$)(?![.,:;]\s)',
    '*' => '(?<=\S|^)(?<!\*)\*(?!\*)',
    '_' => '(?<=\S|^)(?<!_)_(?!_)',
    );
var $strong_relist = array(
    ''   => '(?:(?<!\*)\*\*(?!\*)|(?<!_)__(?!_))(?=\S|$)(?![.,:;]\s)',
    '**' => '(?<=\S|^)(?<!\*)\*\*(?!\*)',
    '__' => '(?<=\S|^)(?<!_)__(?!_)',
    );
var $em_strong_relist = array(
    ''    => '(?:(?<!\*)\*\*\*(?!\*)|(?<!_)___(?!_))(?=\S|$)(?![.,:;]\s)',
    '***' => '(?<=\S|^)(?<!\*)\*\*\*(?!\*)',
    '___' => '(?<=\S|^)(?<!_)___(?!_)',
    );

I Regex Buddy bunu açmaya çalıştım ama yeterli değildi ve üzerinde çalışma yarım saat geçirdikten sonra ben hala nereden başlayacağımı bilmiyorum. Herhangi bir öneriniz?

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.

0 Cevap