Как phpexplode строка с кодом в нем? - PullRequest
1 голос
/ 19 марта 2011

Я пытаюсь использовать разнесение php, чтобы разделить строку на две части.Однако эта строка является HTML-кодом, и php, похоже, не согласен.

Вот что работает:

<?

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

?>

Это не работает, я получаю эту ошибку http://pelican -цемент.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 ]

4 голосов
/ 19 марта 2011

На самом деле вы должны экранировать "в своем 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">...';

Удачи.

Niels

1 голос
/ 19 марта 2011

Ваш HTML содержит двойные кавычки ("). Они должны быть экранированы, чтобы сделать правильную строку php

...