仅返回preg_match所需的值

时间:2014-12-08 01:16:35

标签: php preg-match

在PHP脚本中,我执行如下的html文档解析:

    $patternSearch = '`\[my_tag](.+)\[/my_tag]`';
    preg_match($patternSearch, $doc, $matches1);
    echo ''.$matches1['0'].'';

问题在于返回我有所有字符串:[my_tag]lorem ipsum 123456[/my_tag]

我只想要内部标签的值,如何纠正?

2 个答案:

答案 0 :(得分:1)

嗯,要获得内部价值,你可以这样做

echo $matches1[1];

如果你想获得所有标签内的所有价值(如果你有多个标签)。

preg_match_all($patternSearch, $doc, $match);
print_r($match[1]);

答案 1 :(得分:1)

试试这个:

<?php 
$doc = "[my_tag]lorem ipsum 123456[/my_tag]";
$patternSearch = '`\[my_tag](.*?)\[/my_tag]`';    
preg_match($patternSearch, $doc, $matches1);
echo ''.$matches1[1].'';
?>