php получить строку между тэгами - получение строки между тэгами - значение между тэгами функция
Primary tabs
предлагаю для решения данной проблемы использовать такую вот связку из пары функций =
эта функция возвращает массив строк, окружённых тэгами переданного вида.
ПРИЧЁМ открывающий тэг может быть расширен дополнительными значениями (см. регулярное выражение).=
function strs_btw_tags($opentag,$str)
{
$result="";
//$rreg ="|<[^>]+>(.*)</[^>]+>|U"; - это базовый паттерн о нём я пишу на этом же сайте.
$p1 ="|<";
$p2 ="[^>]*>(.*)</";
$p3 =">|Us";
$tag = free_tag_from_brackets($opentag);
$pattern = $p1.$tag.$p2.$tag.$p3 ; // create pattern
//$pattern = "|<[^>]+>(.*)</[^>]+>|Us" ; // create pattern
// $pattern = "|<ll[^>]*>(.*)</ll>|Us" ;
log_light("TEXT = ".$str);
log_light("TTag=".$opentag);
log_light("pattern=".$pattern);
if ( $n = preg_match_all($pattern,$str,$matches,PREG_PATTERN_ORDER )!= 0 )
{
$result = $matches[1];
}
log_light("result array 0 =". arr_to_str($matches[0]));
log_light("result array 1 =". arr_to_str($matches[1]));
return $result;
}
/*удалит из переданного азового тэга угловые скобки и слэш (результат в
возвращаемом значении)*/
function free_tag_from_brackets($tag)
{
$result="";
$arr= str_to_arr($tag);
foreach ($arr as $val)
{
if (($val!='<')&&($val!='>')&&($val!='/'))
{
$result.=$val;
}
}
return $result;
}
- Log in to post comments
- 6658 reads
vedro-compota
Tue, 08/07/2012 - 15:52
Permalink
log_light - это функция лога
log_light - это функция лога - ещё следует удалить или реализовать самостоятельно.
_____________
матфак вгу и остальная классика =)
phper
Fri, 02/22/2013 - 18:03
Permalink
так называемое базовое
так называемое базовое выражение было здесь = http://fkn.ktu10.com/?q=node/1997