在询问下面的问题并思考之后,我相信这个正则表达式就是我所需要的。不知道怎么做。
![anycharacter](anycharacter)
至[anycharacter](anycharacter)
- 原创标题和消息 -
PHP Markdown Extra - 不允许图像
现在我只是将css设置为隐藏允许降价的区域中的图像。我想这样做,如果使用markdown图像语法,图像将不会显示。我实际上更喜欢它只是变成一个链接,但简单地不允许它会没事。我想检查![text](imagelink)
的正则表达式是否可行,但我在正则表达式方面做得不够,或者知道这是否是最好的选择。
-edit-现在我正在做preg_replace('/!\[/', "[", $text );
的preg_replace,但我仍然认为这不是最佳解决方案,因为它会删除!甚至有时可能会有另一个原因![出现。我想我只需要知道如何用![anycharacter](anycharacter)
[anycharacter](anycharacter)
答案 0 :(得分:2)
这实际上不是我的代码来自http://core.svn.wordpress.org/tags/1.5.1.3/wp-content/plugins/markdown.php,但您可以使用它来预先通过您的输入 _DoImages_reference_callback($ matches)和_DoImages_inline_callback($ matches)函数, 然而,这只是一个要点。
$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);