2011-06-14 63 views
1

我使用PHP Markdown(版本1.0.1n,更新2009年10月)显示保存在降价格式的数据库中的文本。我遇到了一个奇怪的问题,它将每个条目的最后一部分标记为H3。但是,当我搜索markdown.php文件时,没有H3的单个实例。PHP降价的内容最后一块标注为H3

这里是从我的数据库的文字两个部分组成:

Since its launch, major CPG brands, endemic as well as non-endemic, have flocked to retail websites to reach consumers deep in the purchase funnel through shopping media. In this session, you will hear about: 

- The prioritization of shopping media for CPG brands. 

- A case study of brands on Target.com on how this retailer (and others) have introduced a new channel for brand marketers to engage consumers where they are making the majority of purchase decisions: online. 

- How CPG brands are leveraging real-time data from shopping media to capture consumer insights and market trends. 

在这其中,它被正确标记的李项目,但最终李里面它标记的实际文本为H3。

Beyond the actual money she saves, this consumer is both empowered and psychologically gratified by getting the best value on her everyday purchases. It is essential for both marketers and retailers to focus on what motivates and activates this consumer. 

Diane Oshin will share insights on what influences her shopping behavior and then identify specific tools that activate her to buy. 

在这一个中,以Diane Oshin开头的整个段落被标记为H3。

这里是非常奇怪的事情:当我做了查看源代码,两者都被正确标记;只有在使用Inspect Element时才会看到H3。然而,它在实际显示明显,正在应用的H3标签:

例如1 example 1

例如2 example 2

谁能帮助我吗?

更新

每下方的评论,我看了用于h标签的实例。我发现了这些功能,但不知道这是否是可能导致问题的原因。它们是整个文件中唯一可以创建任何类型标题标签的地方。

function doHeaders($text) { 
     # Setext-style headers: 
     #  Header 1 
     #  ======== 
     # 
     #  Header 2 
     #  -------- 
     # 
     $text = preg_replace_callback('{ ^(.+?)[ ]*\n(=+|-+)[ ]*\n+ }mx', 
      array(&$this, '_doHeaders_callback_setext'), $text); 

     # atx-style headers: 
     # # Header 1 
     # ## Header 2 
     # ## Header 2 with closing hashes ## 
     # ... 
     # ###### Header 6 
     # 
     $text = preg_replace_callback('{ 
       ^(\#{1,6}) # $1 = string of #\'s 
       [ ]* 
       (.+?)  # $2 = Header text 
       [ ]* 
       \#*   # optional closing #\'s (not counted) 
       \n+ 
      }xm', 
      array(&$this, '_doHeaders_callback_atx'), $text); 

     return $text; 
    } 
    function _doHeaders_callback_setext($matches) { 
     # Terrible hack to check we haven't found an empty list item. 
     if ($matches[2] == '-' && preg_match('{^-(?: |$)}', $matches[1])) 
      return $matches[0]; 

     $level = $matches[2]{0} == '=' ? 1 : 2; 
     $block = "<h$level>".$this->runSpanGamut($matches[1])."</h$level>"; 
     return "\n" . $this->hashBlock($block) . "\n\n"; 
    } 
    function _doHeaders_callback_atx($matches) { 
     $level = strlen($matches[1]); 
     $block = "<h$level>".$this->runSpanGamut($matches[2])."</h$level>"; 
     return "\n" . $this->hashBlock($block) . "\n\n"; 
    } 
+1

你试过获得项目的开发版本?你可以得到它[通过混帐(http://git.michelf.com/php-markdown/)。 – Blender 2011-06-14 15:56:25

+0

寻找一个作为'3'的实例可能会根据解析器状态添加。 – hakre 2011-06-14 15:59:32

+0

@hakre - 我正在更新原始帖子; H标签很奇怪... – EmmyS 2011-06-14 16:15:14

回答

1

我无法重现你与你已经给出的版本描述:

<?php 
include(__DIR__.'/php-markdown/markdown.php'); 


$testText = 'Since its launch, major CPG brands, endemic as well as non-endemic, have flocked to retail websites to reach consumers deep in the purchase funnel through shopping media. In this session, you will hear about: 

- The prioritization of shopping media for CPG brands. 

- A case study of brands on Target.com on how this retailer (and others) have introduced a new channel for brand marketers to engage consumers where they are making the majority of purchase decisions: online. 

- How CPG brands are leveraging real-time data from shopping media to capture consumer insights and market trends. 
'; 

$resultText = Markdown($testText); 

var_dump($resultText); 

输出看起来相当正如你所预料它

string(649) "<p>Since its launch, major CPG brands, endemic as well as non-endemic, have flocked to retail websites to reach consumers deep in the purchase funnel through shopping media. In this session, you will hear about:</p> 

<ul> 
<li><p>The prioritization of shopping media for CPG brands.</p></li> 
<li><p>A case study of brands on Target.com on how this retailer (and others) have introduced a new channel for brand marketers to engage consumers where they are making the majority of purchase decisions: online.</p></li> 
<li><p>How CPG brands are leveraging real-time data from shopping media to capture consumer insights and market trends.</p></li> 
</ul> 
" 

我认为别的东西在数据进入降价解析器之前或之后篡改数据。但基于这些数据,降价解析器不会创建<h3>标签。你必须寻找别的地方:(

+0

感谢您花时间做到这一点。我将不得不搜索我们的样式表,看看是否有什么造成这种情况。 – EmmyS 2011-06-14 18:48:33

+0

我不知道你是否还在看这个,但是我拿掉了Markdown的电话,只是打印了正文,并没有奇怪的格式。所以它必须是Markdown函数中的一部分,不是吗? – EmmyS 2011-06-14 21:04:41

+0

不在我的电脑上,它的功能完美。查看我发布的代码。 – hakre 2011-06-14 21:12:24