PHP的Emmet Parser

时间:2014-11-07 05:31:52

标签: php parsing handlebars.js markdown emmet

是否有一个php解析器来获取emmet样式的markdown代码并将其解析为html?

我发现自己编写的代码就像。

$htmlBlock .= '<div id="'.$myDivId.'">';
$htmlBlock .= '<ul>';
foreach( $myArray as $listItem){
    $htmlBlock .= '<li>' . $listItem . '</li>';
}
$htmlBlock .= '</ul>';
$htmlBlock .= '</div>';
echo $htmlBlock;

通过一些嵌套,条件,属性和类,它变得非常繁琐和复杂。最糟糕的部分是记住关闭标签并计算何时需要关闭标签。

我熟悉HEREDOC但是嵌套循环和条件语也会变得非常混乱。我想完全避免使用标签和HTML语法。事实上,我甚至为写作而感到疯狂。

那些熟悉emmet的人知道

#page>div.logo+ul#navigation>li*5>a{Item $}

将解析为

<div id="page">
<div class="logo"></div>
<ul id="navigation">
    <li><a href="">Item 1</a></li>
    <li><a href="">Item 2</a></li>
    <li><a href="">Item 3</a></li>
    <li><a href="">Item 4</a></li>
    <li><a href="">Item 5</a></li>
</ul>

编写

会容易得多
 $emmet = #$myDivId ul li{$myArray} 

即使能写这个也很可爱。

 $emmet = #$myDivId ul
 $emmet .= foreach ($myArray as $listItem) li{$listItem}

我看到很多用于php的降价解析器,Parsedown看起来很酷,但我不想学习另一种语言。我喜欢用简写语法输出html。

看起来像手写笔,sass,并且在css中解决了问题,但html却被遗忘了。这对我来说太神奇了,因为HTML更加冗长。

我觉得理想的解决方案是一个允许变量的php emmet解析器。有谁知道吗?如果没有,我将开始Github回购并开始工作。

3 个答案:

答案 0 :(得分:0)

我只发现了两个焦点正确的项目,但其中一个项目从未真正开始。

https://github.com/lavoiesl/php-emmet

这个可以做到这一点。我会探索它。

https://code.google.com/p/php-zen-coding/wiki/OverviewUsage

答案 1 :(得分:0)

这是一个可能对你有用的作曲家包,它说它是受HTML脚本启发的html渲染,并具有类似emmet的功能。

https://github.com/spatie/html-element

此代码:

el('div.container > div.row > div.col-md-6', 'Hello world!'));

将渲染:

<div class="container">
  <div class="row">
    <div class="col-md-6">
    Hello world!
    </div>
  </div>
</div>

据说无论如何!我还没有用过这个,但我肯定会参加下一个项目。希望这有帮助!

https://github.com/spatie/html-element

答案 2 :(得分:-2)

https://github.com/artemBilik/emmet

用法'div&gt; p.myP {some text} + p#myPersonalP {another text}

和javascript一样

https://github.com/artemBilik/js_emmet