在问了下面的问题并思考之后,我相信这个正则表达式就是我所需要的。不知道怎么做。
![anycharacter](anycharacter)
至[anycharacter](anycharacter)
-原标题和消息-
PHP降价额外-不允许图像
现在我只设置了css来隐藏允许标记的区域中的图像。我想这样做,如果使用markdown图像语法,图像就不会显示。事实上,我更希望它只是变成一个链接,但简单地拒绝它也没关系。我想用正则表达式来检查![text](imagelink)
是可行的,但我对正则表达式不够精通,无法做到这一点,也无法确定这是否是最好的选择。
-edit-现在我正在做preg_replace('/![/', "[", $text );
的preg_replace,但我仍然不认为这是最好的解决方案,因为它会删除!甚至有时可能还有其他原因![出现了。我想我只需要知道如何用[anycharacter](anycharacter)
替换![anycharacter](anycharacter)
这实际上不是我的代码http://core.svn.wordpress.org/tags/1.5.1.3/wp-content/plugins/markdown.php但是您可以使用它在您的_reference_ callback($matches)和_DoImages_,然而,这只是一个要点。
$text = preg_replace_callback('{
( # wrap whole match in $1
![
(.*?) # alt text = $2
]
[ ]? # one optional space
(?:n[ ]*)? # one optional newline followed by spaces
[
(.*?) # id = $3
]
)
}xs',
'_DoImages_reference_callback', $text);
#
# Next, handle inline images: ![alt text](url "optional title")
# Don't forget: encode * and _
$text = preg_replace_callback("{
( # wrap whole match in $1
!\[
(.*?) # alt text = $2
\]
\( # literal paren
[ \t]*
<?(S+?)>? # src url = $3
[ \t]*
( # $4
(['"]) # quote char = $5
(.*?) # title = $6
\5 # matching quote
[ \t]*
)? # title is optional
\)
)
}xs",
'_DoImages_inline_callback', $text);