1

phpファイルでAJAXURLを呼び出し、CURLを介してその内容を取得しています。しかし、私が取得しているHTMLは\ r、\ t、\nでいっぱいです。Divも歪んでいます。どうすればこれに対処できますか。これは、完全なHTMLテキストのごく一部です。

<html>
<head>
<title></title>
</head>
<body>
id=
"\&quot;moreCount\&quot;">491-500</span>\r\n\r\n\r\n\t
<div id="\&quot;propSearchMainWrap\&quot;">\r\n\t\t
<div class="\&quot;propSearchMainContent\&quot;">\r\n\t\t\t
<div>\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
<div class="\&quot;searchDtlLeftN\&quot;" style="\&quot;width:">
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t<input type=
"\'checkbox\'" name=
"\'checkbox10374276\'\r\n\t\t\t\t\t\tid=\'checkbox10374276\'\r\n\t\t\t\t\t\tonmouseout=\&quot;hideToolTipCheckboxCount(\'tool_tip10374276\');\&quot;\r\n\t\t\t\t\t\tonmouseover=\&quot;showToolTipCheckboxCount(\'tool_tip10374276\',\'Property\');\&quot;">\r\n\t\t\t\t\t
<div id="\'tool_tip10374276\'\r\n\t\t\t\t\t\tstyle=\'display:"
width:="" position:="" z-index:="" padding:=""></div>
\r\n\t\t\t\t\r\n\t\t\t\t <b><a target="\&quot;_blank\&quot;" href=
"/&quot;/propertyDetails/5-BHK-3000-Sq-ft-Residential-House-FOR-Sale-Cookes-Town-in-Bangalore&amp;id=Q8oDBbaV2WFzpSvf+uAgZw==/&quot;">
5 BHK Residential House for Sale in Cookes
Town</a>\r\n\t\t\t\t</b>\r\n\t\t\t</div>
\r\n\t\t\t
<!-- added by narendra -->\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
<div style="\&quot;width:"></div>
\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t
<!-- added by narendra -->\r\n\t\t</div>
\r\n\t\t
<div>\r\n\t\t\t<!--left panel start-->\r\n\t\t\t
<div class="\&quot;searchDetailPanelLft\&quot;">\r\n\r\n\t\t\t\t
<div class="\&quot;searchDetailSubBox1\&quot;">\r\n\t\t\t\t\t
<!--content start-->\r\n\t\t\t\t\t
<div class="\&quot;search_packageImg\&quot;">
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<img alt="\&quot;Premium\&quot;"
title=
"\&quot;Premium\&quot;\r\n\t\t\t\t\t\t\t\tsrc=\&quot;/images/premium-img.gif\&quot;">\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t</div>
4

3 に答える 3

3

\ r、\ t、および\ nは、preg_replaceを使用して削除できます。

そうは言っても、width:= ...このHTMLPascalのような奇妙な割り当てがまだありますか?

    $html = // awful stuff

    // Remove quoted \r, \t and \n
    $html = preg_replace("#\\[rnt]#ms", '', $html);

    // Remove double quotation marks, apparently spurious
    $html = preg_replace('#["]#ms', '', $html);

    // Remove extra escapes
    $html = stripslashes($html);

    // Convert (apparently) original marks back to normal
    $html = HTML_Entity_Decode($html);
于 2012-07-06T11:42:26.000 に答える
1

すべての\x-occurrencesを想定されるcharに置き換えてみてください。次に、DOMDocumentのloadHTMLがそのために適しています。

$html = strtr($html, array('\\\\' => '\\', '\\r' => "\r", '\\n' => "\n", '\\t' => "\t", '\\' => ''));
$doc = new DOMDocument();
$doc->loadHTML($html);
$html = $doc->saveHTML();
于 2012-07-06T11:42:33.050 に答える
0

stripcslashes()メソッドで簡単に解決できます。チャームのように働いた。

于 2012-07-06T11:53:30.940 に答える