Str_replace不删除消息字符串中的标记

时间:2012-01-15 22:24:06

标签: php mysql echo str-replace

我使用foreach回显表的内容,我得到的问题是日期始终位于页面顶部,所以当我查看我的一行预览时,我只得到日期而已。如果我删除日期就可以了,你可以看到模板的第一行。所以我试图从预览中删除日期标记。 我使用下面的代码,但它似乎没有做很多,据我所知,我有正确的事情吗?。

    echo '<div class="messagerow">';
// this pulls the message from the foreach above it
    $emlmsg = $row->emailformmessage;
// I am trying to remove the date by replacing it with the blank contents of this string value.
    $dateremove = '';
    // This is the str_replace that is supposed to remove the {date} tag along with the paragraph tags it is wrapped in.
$emlmsgfiltered = str_replace(array('<p>{date}</p>'), array($dateremove), $emlmsg);
// I then echo the filtered message here, minus the date....but its still there ??
echo $emlmsgfiltered;
echo '</div>';

编辑&gt;&gt;&gt;&gt;&gt;&gt;

 As requested, this is the html code

<p>{date}</p>

<p>Dear {name} thankyou for your order, if you need any more oil we will be happy to provide you with     a competitive quote.</p>

<p>Kind Regards</p>

{createdby}

2 个答案:

答案 0 :(得分:1)

抱歉。应该是一个答案,而不是评论:

为什么数组围绕str_replace()中的第一个值?你应该引用一个数组元素

str_replace('<p>{date}</p>',$dateremove,$emlmsg)

答案 1 :(得分:1)

在我看来,'<p>{date}</p>'没有找到。您可以尝试通过键入内容$ date = date('Y-m-d')然后'<p>'.$date.'</p>'"<p>$date</p>"来重新创建日期 但是,在所有情况下,日期可能无法正确匹配。

您也可以尝试从某个地方提取日期。那将是理想的。