我是perl语法的新手,但不是regexp,
我正在尝试为Markdown.pl中的段落添加几个类,具体取决于第一个字符,例如
Normal paragraph
? Info paragraph
! Important paragraph
,并提供:
<p>Normal paragraph</p>
<p class="info">Info paragraph</p>
<p class="important">Important paragraph</p>
这是Markdown.pl中包含<p>
标记
my @grafs = split(/\n{2,}/, $text);
foreach (@grafs) {
unless (defined( $g_html_blocks{$_} )) {
$_ = _RunSpanGamut($_);
s/^([ \t]*)/<p>/;
$_ .= "</p>";
}
}
我是否需要使用条件语句或perl中有一种我不知道的智能方法?
也很高兴有机会使用!
和?
作为第一个使用\
逃脱的第一个字符(不是强制性的,我真的需要的机会)这是0
)
答案 0 :(得分:1)
这是我到目前为止所做的,它有效,但我想知道在perl中是否有更聪明的方法可以做到这一点
my @grafs = split(/\n{2,}/, $text);
#
# Wrap <p> tags.
#
foreach (@grafs) {
unless (defined( $g_html_blocks{$_} )) {
$_ = _RunSpanGamut($_);
if ( m/^[ \t]*\?/ ){
s/^([ \t]*\?[ \t]*)/<p class="Information">/;
} elsif ( m/^[ \t]*\!/ ){
s/^([ \t]*\![ \t]*)/<p class="Important">/;
} else {
s/^([ \t]*)/<p>/;
}
$_ .= "</p>";
}
}
答案 1 :(得分:1)
我对Perl完全不熟悉,并希望制作特别的段落。我看到这篇文章,我认为这对你的情况很有帮助。
http://www.pingtrip.com/weblog/2008/04/adding-custom-tags-to-markdown
他的修改使div
或class="note"
"warning"
~? This is a Note Block ~?
~! This is a Warning Block ~!
我遵循他的指示,他们工作正常。