3

首先,我对 PHP 了解不多(一无所知)。我更熟悉CSS。

我正在使用 Ben Ward 脚本 Tumblr2Wordpress(这是GitHub 上的脚本)以 XML 格式导出我的 Tumblr 博客(这样我就可以在我的 Wordpress 博客中导入它)。该脚本读取 tumblr 的 API、查询元素、进行一些格式化并以 HTML 格式导出整个内容。

我需要对其进行一些定制以满足我的需求。例如,在下面的函数中,我需要 blockquote 成为特定类的 blockquote:

function _doBlockQuotes_callback($matches) {  
    $bq = $matches[1];  
    # trim one level of quoting - trim whitespace-only lines  
    $bq = preg_replace('/^[ ]*>[ ]?|^[ ]+$/m', '', $bq);  
    $bq = $this->runBlockGamut($bq);  # recurse  

    $bq = preg_replace('/^/m', "  ", $bq);
    # These leading spaces cause problem with <pre> content, 
    # so we need to fix that:
    $bq = preg_replace_callback('{(\s*<pre>.+?</pre>)}sx', array(&$this, '_doBlockQuotes_callback2'), $bq);

    return "\n". $this->hashBlock("<blockquote>\n$bq\n</blockquote>")."\n\n";
}

起初,我以为它会像在 blockquote HTML 标记中添加我需要的类一样简单,就像这样<blockquote class="big">但是它破坏了代码。

有没有办法像在 PHP 脚本中一样添加这个 HTML 属性?还是我需要在<blockquote>其他地方定义它的输出?

提前感谢您的任何提示!

P。

4

3 回答 3

2

你的猜测是正确的,但你需要用反斜杠转义引号:

return "\n". $this->hashBlock("<blockquote class=\"big\">\n$bq\n</blockquote>")."\n\n";

否则,PHP 假定您的字符串以class="引号结尾。

于 2010-10-18T14:06:37.420 回答
1

您可以转义双引号"

"<blockquote class=\"big\">"

但是,如果您要使用单引号'。这是不必要的。

'<blockquote class="big">'
于 2010-10-18T14:08:12.143 回答
0

您需要转义引号

 <blockquote class=\"big\">
于 2010-10-18T14:05:57.423 回答