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


PHP format::split_attributes方法代码示例

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


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

示例1: tag_reassemble

 function tag_reassemble($a)
 {
     $node = $a[1];
     // getting referer document path
     $base = env('HTTP_REFERER');
     preg_match("/^([a-z]*:\\/\\/[^\\/]*)\\/(.*?)(index.php|\$)/i", $base, $url);
     $host = $url[1];
     $docroot = '/' . ($url[3] ? dirname($url[2]) . '/' : $url[2]);
     $attr = format::split_attributes(isset($a[2]) ? $a[2] : null);
     // checking resources
     $src_arr = array('src', 'href', 'action');
     foreach ($src_arr as $src) {
         if (isset($attr[$src])) {
             if (substr($attr[$src], 0, 2) == '..') {
                 $path = explode('/', $docroot);
                 if (($del = strpos($attr[$src], '?')) !== false) {
                     $relative = substr($attr[$src], 0, $del);
                 }
                 $rel = explode('/', isset($relative) ? $relative : $attr[$src]);
                 for ($i = 0; $rel[$i] == '..'; $i++) {
                     array_pop($path);
                 }
                 $attr[$src] = (count($path) ? implode('/', $path) . '/' : '') . substr($attr[$src], $i * 3);
             }
         }
     }
     switch ($node) {
         case 'img':
             if (!isset($attr['alt'])) {
                 $attr['alt'] = htmlspecialchars(basename($attr['src']));
             }
             if (!isset($attr['width']) || !isset($attr['height'])) {
                 $attr['width'] = $attr['height'] = 0;
             }
             if (substr($attr['src'], 0, 7) != 'http://' || substr($attr['src'], 0, strlen($_SERVER['HTTP_HOST'])) == $_SERVER['HTTP_HOST']) {
                 $src = urldecode($attr['src']);
                 $local_src = TM_SOURCE_DIR . ltrim($src, '/');
                 if (file_exists($local_src)) {
                     $size = @getimagesize($local_src);
                     if (isset($size[0]) && isset($size[1])) {
                         $attr['width'] = $size[0];
                         $attr['height'] = $size[1];
                     }
                 }
             }
             // this line breaks the standards... but surely the user don't cares (she/he didn't provide a with nor a height attribute)
             if (0 == $attr['width'] + $attr['height']) {
                 unset($attr['width'], $attr['height']);
             }
             break;
     }
     $attr = format::join_attributes($attr);
     return '<' . $node . ($attr ? ' ' . $attr : '') . (format::is_single_tag($node) ? ' /' : '') . '>';
 }
开发者ID:laiello,项目名称:xiv,代码行数:54,代码来源:format.php


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