将html标签转换为字符串php

时间:2013-08-12 23:38:53

标签: php html render

我一直在努力做以下事情并且无法弄明白。

我在php中有一个字符串,其中包含html,如下所示:

$var = "<div style="display:inline">how</div>
        <div style="display:none">are</div>
        <div style="display:inline">you</div>
        ?";

并想存储另一个字符串$ var2,“howyou?”; 基本上,我想在某种意义上在PHP中呈现html。

我该怎么做?

由于

4 个答案:

答案 0 :(得分:1)

尝试在任何字符串中使用'而不是' 那样:

$var = "<div style='display:inline'>how</div>
        <div style='display:none'>are</div>
        <div style='display:inline'>you</div>
        ?";

现在必须工作

答案 1 :(得分:0)

首先,使用preg_replace删除display:none行,然后使用strip_tags删除其他html标记

$var = '<div style="display:inline">how</div>
        <div style="display:none">are</div>
        <div style="display:inline">you</div>
        ?';

$pattern = '/.*display:none.*/';

$var2 = strip_tags( preg_replace($pattern, '', $var) );

答案 2 :(得分:-1)

你不必渲染它,你可以parse the HTML

$dom = str_get_html('<div style="display:inline;">how</div>
    <div style="display:none">are</div>
    <div style="display:inline">you</div>
    ?');

$invisible = $dom->find('[style*=display:none]');
$stripped_html = $dom->outertext;

foreach($invisible as $node)
{
    $stripped_html = str_replace($node->outertext, "", $stripped_html);
}

echo str_replace(" ", "", str_get_html($stripped_html)->plaintext);

结果

howyou?

答案 3 :(得分:-2)

我认为你错误地设置了$ var,你需要逃避那些内在的

如果您需要完整的内容,只需使用strip_tags()

$var = "<div style=\"display:inline\">how</div>
        <div style=\"display:none\">are</div>
        <div style=\"display:inline\">you</div>
        ?";

echo strip_tags($var);

结果:

  你好吗?