我需要获取wordpress短代码之间的内容。
比如说[bla_blabla name="a"]Variation A[/bla_blabla]
应返回Variation A
我想用regex来获取它,但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);
?>
如果您已经使用[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]
将包含您的内容。
希望这能有所帮助。