最后我写了一个基本函数preg_match_all
和preg_replace
在为模板页面构建HTML输出之前,查找我的短代码标记并清理内容。
在我的情况下,只有在使用了一个短标记时才有用。
function img_strip($str)
{
$preg = \'/\\[\\bimg\\b\\](.*?)\\[\\/\\bimg\\b\\]/\';
preg_match_all($preg, $str, $matches);
if ($matches) {
foreach ($matches[1] as $match) {
$parsed = parse_url($match);
if (empty( $parsed[\'scheme\'])) {
$match = \'//\' . ltrim($match, \'/\');
}
$replace = \'<img src="\' . $match . \'" alt="floating-image" class="image">\';
$str = preg_replace($preg, $replace, $str, 1);
}
}
return $str;
}
将来,我将研究在模板中使用
the_content()
.