无法使用字符串替换</p>更改the_content中的<p>标记

时间:2012-11-15 12:14:22

标签: php wordpress

我很难在wordpress the_content函数中使用简单的字符串替换。

<?php 

    $phrase = the_content();
    $find = '<p>';
    $replace = '<p style="text-align: left; font-family: Georgia, Times, serif; font-size: 14px; line-height: 22px; color: #1b3d52; font-weight: normal; margin: 15px 0px; font-style: italic;">';

    $newphrase = str_replace($find, $replace, $phrase);

    echo $newphrase;

?>


它似乎仍在回应<p>

而不是<p style="text-align: left; font-family: Georgia, Times, serif; font-size: 14px; line-height: 22px; color: #1b3d52; font-weight: normal; margin: 15px 0px; font-style: italic;">

2 个答案:

答案 0 :(得分:7)

您需要使用apply_filters('the_content')将Wordpress换行符添加到段落中。

<?php 

    $phrase = get_the_content();
    // This is where wordpress filters the content text and adds paragraphs
    $phrase = apply_filters('the_content', $phrase);
    $replace = '<p style="text-align: left; font-family: Georgia, Times, serif; font-size: 14px; line-height: 22px; color: #1b3d52; font-weight: normal; margin: 15px 0px; font-style: italic;">';

    echo str_replace('<p>', $replace, $phrase);

?>

请参阅the_content的codex条目。它在替代使用部分。

答案 1 :(得分:3)

the_content不会返回内容,但会回显内容。

如果您想获取变量中的内容,则必须使用

  

$ phrase = get_the_content()

你应该在循环中运行它,就像the_content()

一样