我需要在wordpress短代码之间获取内容。
喜欢说[bla_blabla name="a"]Variation A[/bla_blabla]
应该返回Variation A
我想过使用正则表达式来获取它,但是wordpress中有一个shortcodes.php
文件应该已经能够做到了吗?你能指导我做正确的做法吗?
我目前使用此代码
<?php
function abtest_runner($input) {
//A bit confused if you wanted equal chances of selecting one or equal changes?
//This is for equal chances.
$size = count($input);
$select = rand(0,$size-1);
$temp=array();
$selection = $input[$select];
$temp = (explode("]",$selection));
$temp = (explode("[",$temp[1]));
echo $temp[0];
}
$input[0] = '[bla_blabla name="a"]Variation A[/bla_blabla]';
$input[1] = '[bla_blabla name="b"]Variation B [/bla_blabla]';
abtest_runner($input);
?>
答案 0 :(得分:2)
如果您使用[add_shortcode][1]
功能在WordPress中注册了短代码,则可以使用以下方法提取短代码内容:
$pattern = get_shortcode_regex();
$content = '[bla_blabla name="a"]Variation A[/bla_blabla]';
$matches = array();
preg_match("/$pattern/s", $content, $matches);
print_r($matches[5]);
$matches[5]
将包含您的内容。
希望这有帮助。