帮助我实现:
function getTextBetweenTags($string, $tagname)
{
$pattern = "/<$tagname>(.*?)<'/$tagname>/";
preg_match($pattern, $string, $matches);
return $matches[1];
}
我得到了:
警告:preg_match():未知修饰符't'
此外,我也尝试过:
$pattern = "~<$tagname>(.*?)<'/$tagname>~";
在这种情况下,我有:
警告:preg_match():编译失败:中偏移量为146的字符类中的范围无序
当然,我试过的变体
$pattern = "/<".$tagname.">(.*?)<'/".$tagname.">/";
有什么想法吗?)
您需要在getTextBetweenTags调用中更改参数的位置。'abc'是标签的名称,而不是要搜索的字符串,对吧?
$html = "<html><body><abc>HELLO</abc></body></html>";
function getTextBetweenTags( $string, $tagname ) {
preg_match( "/'<{$tagname}'>(.*)'<'/{$tagname}'>/", $string, $matches );
return $matches[1];
}
var_dump( getTextBetweenTags( $html, 'abc' ) );