扩展PHP标记以接受CSS类名

扩展PHP标记以接受CSS类名,php,css,markdown,Php,Css,Markdown,我非常喜欢Markdown(几乎在我所有的PHP项目中都使用它),但不喜欢它有限的输出。很多渲染都有点太简单了,不允许我对布局有太多的控制或自由。例如,我可以插入图像: ![Alt Text](path/to/image.jpg) This is my image! ![Alt Text](路径/到/image.jpg) 这就是我的形象! 但这将简单地转化为: <p> <img src="path/to/image.jpg" alt="Alt Text" /> Thi

我非常喜欢Markdown(几乎在我所有的PHP项目中都使用它),但不喜欢它有限的输出。很多渲染都有点太简单了,不允许我对布局有太多的控制或自由。例如,我可以插入图像:

![Alt Text](path/to/image.jpg) This is my image! ![Alt Text](路径/到/image.jpg) 这就是我的形象! 但这将简单地转化为:

<p>
  <img src="path/to/image.jpg" alt="Alt Text" /> This is my image!
</p>

这就是我的形象!

假设我想将我的图像向右浮动?我目前无法向语法中添加任何类,但这不是一个很好的特性吗?我希望能够输出:

<p>
  <img src="path/to/image.jpg" alt="Alt Text" class="alignright caption"> 
  This is my image!
</p>

这就是我的形象!

对一个或多个CSS类的支持将是惊人的。我的问题是关于在PHP版本的Markdown中实现这种支持的最佳方式

想法?

没有“最佳方法”将其落实到降价中;你将不再使用降价(你将拥有自己的创造物)

谢天谢地,降价并没有像你想象的那样限制你的控制或自由

Markdown不是HTML的替代品,甚至与之相近。它的语法非常小,只对应一小部分HTML标记。这样做的目的不是创建一种语法,使插入HTML标记更容易。在我看来,HTML标签已经很容易插入了。降价的想法是使阅读、写作和编辑散文变得容易。HTML是一种发布格式;Markdown是一种书写格式。因此,Markdown的格式语法只解决可以用纯文本表达的问题

对于Markdown语法未涵盖的任何标记,只需使用HTML本身。不需要在它前面加上前缀或分隔符来表示您正在从Markdown切换到HTML;你只需要使用标签


来源:

Markdown在核心版本中没有语法来支持CSS
class
名称、内联样式或
id
属性。根据您所做的工作,您可能会发现纺织是一个更好的解决方案。在某些方面它类似于降价,而在另一些方面则完全不同。例如,要获得您在问题中提到的输出,可以使用以下纺织字符串:

(右标题对齐)path/to/image.jpg(Alt Text)!这就是我的形象

也就是说:

<p>
  <img src="path/to/image.jpg" alt="Alt Text" class="alignright caption"> 
  This is my image!
</p>

这就是我的形象!

您还可以使用
{}

你可以在他们的现场演示页面上看到


我在寻找PHP的纺织解析器时遇到了一些困难,因此您在这个答案上的里程数可能没有我希望的那么多。我确实找到了,但肯定不是全部。

请查看此链接中的信息:

您可以使用这种精确的技术制作一个span或div“block”,以应用样式。它似乎可以在多条线路上工作没有问题

将类名包含在标记中会更困难,但我现在无法说出多少。我最终会去做的,如果我做了,我会把结果贴在这里

我想知道为什么这么多人只说“降价不是为了这个”?降价太有用了,不能局限于博客和留言板上的评论

编辑:

要使其更清楚,无需遵循链接:

您可以创建自定义标记,允许您定义开始和结束字符串以及替换文本。例如:

-s%classname%
这是您的
定制样式
降价脚本
-


应用特定类/id的span/div块可以很容易地实现这一点。按照链接查看“警告”和“注意”框的示例实现。

使用haml标记,请参见

Php标记额外包括添加类的功能,请参见。这项功能是在2015年3月添加的,请参见

@AlexBarrett:恕我直言,这并没有回答我的问题,即如何将降价扩展到包括为元素提供css类名的功能。事实上,这并没有。在我看来,这样做将是思想上的混乱。美好的这可能正是我一直在寻找的。这是一个黑客,但它回答了这个问题,我同意:降价太有用了,不能忍受这种限制!此外,我的特定用例要求我使用Markdown,而不是Textile,它对轻量级标记采用了完全不同的方法。