2015-03-03 69 views
1

我需要获取wordpress短代码之间的内容。在短代码之间获取内容

好比说[bla_blabla name="a"]Variation A[/bla_blabla]

应该返回Variation A

我想使用正则表达式来得到它的,但有一个shortcodes.php文件在WordPress应该已经能够这样做呢?你能指导我采取正确的做法吗?

我已经目前使用此代码

<?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

你正在努力达到什么目的?可能有一个更简单的方法! – 2015-03-03 07:08:18

回答

2

如果你已经注册你的WordPress使用[add_shortcode][1]功能,那么,你可以使用下面的方法提取的简码的内容简码:

$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]将包含您的内容。

希望这会有所帮助。