当前位置: 首页>>代码示例>>PHP>>正文


PHP clsTinyButStrong::f_Xml_AttMove方法代码示例

本文整理汇总了PHP中clsTinyButStrong::f_Xml_AttMove方法的典型用法代码示例。如果您正苦于以下问题:PHP clsTinyButStrong::f_Xml_AttMove方法的具体用法?PHP clsTinyButStrong::f_Xml_AttMove怎么用?PHP clsTinyButStrong::f_Xml_AttMove使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在clsTinyButStrong的用法示例。


在下文中一共展示了clsTinyButStrong::f_Xml_AttMove方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: f_Xml_AttFind

 static function f_Xml_AttFind(&$Txt, &$Loc, $Move = false, $AttDelim = false)
 {
     // att=div#class ; att=((div))#class ; att=+((div))#class
     $Att = $Loc->PrmLst['att'];
     $p = strrpos($Att, '#');
     if ($p === false) {
         $TagLst = '';
     } else {
         $TagLst = substr($Att, 0, $p);
         $Att = substr($Att, $p + 1);
     }
     $Forward = substr($TagLst, 0, 1) === '+';
     if ($Forward) {
         $TagLst = substr($TagLst, 1);
     }
     $TagLst = explode('+', $TagLst);
     $iMax = count($TagLst) - 1;
     $WithPrm = false;
     $LocO =& $Loc;
     foreach ($TagLst as $i => $Tag) {
         $LevelStop = false;
         while (strlen($Tag) > 1 and substr($Tag, 0, 1) === '(' and substr($Tag, -1, 1) === ')') {
             if ($LevelStop === false) {
                 $LevelStop = 0;
             }
             $LevelStop++;
             $Tag = trim(substr($Tag, 1, strlen($Tag) - 2));
         }
         if ($i == $iMax) {
             $WithPrm = true;
         }
         $Pos = $Forward ? $LocO->PosEnd + 1 : $LocO->PosBeg - 1;
         unset($LocO);
         $LocO = clsTinyButStrong::f_Xml_FindTag($Txt, $Tag, true, $Pos, $Forward, $LevelStop, $WithPrm, $WithPrm);
         if ($LocO === false) {
             return false;
         }
     }
     $Loc->AttForward = $Forward;
     $Loc->AttTagBeg = $LocO->PosBeg;
     $Loc->AttTagEnd = $LocO->PosEnd;
     $Loc->AttDelimChr = false;
     if (isset($LocO->PrmLst[$Att])) {
         // The attribute is existing
         $p = $LocO->PrmPos[$Att];
         $Loc->AttBeg = $p[0];
         $p[3]--;
         while ($Txt[$p[3]] === ' ') {
             $p[3]--;
         }
         // external end of the attribute, may has an extra spaces
         $Loc->AttEnd = $p[3];
         $Loc->AttDelimCnt = $p[5];
         $Loc->AttDelimChr = $p[4];
         if ($p[1] > $p[0] and $p[2] > $p[1]) {
             //$Loc->AttNameEnd =  $p[1];
             $Loc->AttValBeg = $p[2];
         } else {
             // attribute without value
             //$Loc->AttNameEnd =  $p[3];
             $Loc->AttValBeg = false;
         }
     } else {
         // The attribute is not yet existing
         $Loc->AttDelimCnt = 0;
         $Loc->AttBeg = false;
         $Loc->AttName = $Att;
     }
     // Search for a delimitor
     if ($Loc->AttDelimCnt == 0 and isset($LocO->PrmPos)) {
         foreach ($LocO->PrmPos as $p) {
             if ($p[5] > 0) {
                 $Loc->AttDelimChr = $p[4];
             }
         }
     }
     if ($Move) {
         return clsTinyButStrong::f_Xml_AttMove($Txt, $Loc, $AttDelim);
     }
     return true;
 }
开发者ID:prolin99,项目名称:mobile_view,代码行数:81,代码来源:tbs_class_php5.php


注:本文中的clsTinyButStrong::f_Xml_AttMove方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。