如何使用代码对字符串进行phpexplode?

时间:2011-03-19 20:15:06

标签: php html string parsing explode

我正在尝试使用php的爆炸将字符串分成两部分。然而,该字符串是HTML代码,PHP似乎不同意。

这是有效的:

<?

$pizza  = "hello<!--a-->world";
$pieces = explode("<!--a-->", $pizza);
echo $pieces[0]; 
echo "<br/><br/>";
echo $pieces[1]; 

?>

这不起作用,我收到此错误http://pelican-cement.com/exp3.php

<?

$pizza  = "<div id=main><div id=cnt><div id=sfcnt><div id=sform style="height:43px"></div><div class=tsf-p style=visibility:hidden></div></div><noscript><style>.bl{display:none !important}</style></noscript><div id=subform_ctrl><div style="float:right"><a href="/advanced_search?q=hotels&amp;hl=en&amp;prmd=ivnscm" class="gl nobr" style="color:#36c">Advanced search</a></div><div><div id=resultStats>About 462,000,000 results<nobr>  (0.18 seconds)&nbsp;</nobr></div></div></div><div id=nr_container style="position:relative;zoom:1"><div id=center_col><div id=res class=med role=main><div id=topstuff></div><!--a--><h2 class=hd>Search Results</h2>";
$pieces = explode("<!--a-->", $pizza);
echo $pieces[0]; 
echo "<br/><br/>";
echo $pieces[1]; 

?>

唯一的区别在于字符串。我是PHP的新手,在字符串中使用html有问题吗?

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

实际上你必须在你的html代码中转义“。两种方法:

$pizza  = "<div id=main><div id=cnt><div id=sfcnt><div id=sform style=\"height:43px\">...";

或者更改为引号:

$pizza  = '<div id=main><div id=cnt><div id=sfcnt><div id=sform style="height:43px">...';
祝你好运。

尼尔斯

答案 1 :(得分:1)

你的html包含双引号(“)。必须对它们进行转义才能生成有效的php字符串