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