gpt4 book ai didi

php - 是什么导致我的 PHP 页面将 html 标记呈现为文本(我该怎么做才能修复它)?

转载 作者:太空宇宙 更新时间:2023-11-04 14:14:14 24 4
gpt4 key购买 nike

我有以下 PHP 代码:当它被注释掉(就像现在一样)从评论之后//... 更多内容到该评论 block 的末尾时,我的页面从第二个开始呈现 html php block 如在此屏幕截图中所预期的那样。

如果我取消注释该 block ,它会像下面代码后的屏幕截图一样呈现,这不是我想要的(我想要第一个屏幕截图中呈现的 html)。在我的评论 block 中唯一没有显示的是一个函数调用,它 curl 网页,用 DomXNode 类型的东西解析 html,并返回一个包含 3 个元素的数组。我怎样才能取回 html 的原始呈现,我可能正在做什么,这对我来说是毁了它?我尝试了 echo 而不是 print,这没有区别。

老实说,我确实在这里搜索了答案,发现很多页面都描述了如何做与我想要的相反的事情,所以请对我温柔点。我很惊讶找不到类似的问题,而且我知道这里必须有一个简单的答案。谢谢!

screenshot

<?php 
// ... more stuff in here
/*
include("../../includes/curl_fx.php");
if ($doAppend === "parcel") {
$lines = explode(PHP_EOL, $Data);
foreach($lines as $line) {
if(strpos($line, "http") > 0) {
$start = stripos(strval($line), "http");
$fullLength = strlen($line);
$urlLength = ($fullLength - $start);
$fullUrl = substr($line, $start, $urlLength);
$arraySDAT = getSDAT($fullUrl);
$line .= ", " . $arraySDAT[0] . ", " . $arraySDAT[1] . ", " . $arraySDAT[2] . "\n";
fwrite($Handle, $line);
}
}
}
*/
?>
<?php

if ($DataAdded === true) {
print "<h2>YourFile.txt</h2>Data has been added.<br />Close this window or tab to return to the web map.<br />";
} else {
print "Data may not have been added. Check the file.<br />";
}
fclose($Handle);
print $doAppendAnswer;
print "<br />";

?>

enter image description here

编辑:这是函数。

<?php

function getSDAT ($fullUrl="") {

$ch = curl_init($fullUrl);
if (! $ch) {
die( "Cannot allocate a new PHP-CURL handle" );
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($ch);
header("Content-type: text");
curl_close($ch);

libxml_use_internal_errors(true);
libxml_clear_errors();

$doc = DOMDocument::loadHTML($data);
$xpath = new DOMXPath($doc);

$ownName1query = '//table/tr/td/span[@id="MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblOwnerName_0"][@class="text"]';
$ownName2query = '//table/tr/td/span[@id="MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblOwnerName2_0"][@class="text"]';
$ownAddrquery = '//table/tr/td/span[@id="MainContent_MainContent_cphMainContentArea_ucSearchType_wzrdRealPropertySearch_ucDetailsSearch_dlstDetaisSearch_lblMailingAddress_0"][@class="text"]';

$entries = $xpath->query($ownName1query);
foreach($entries as $entry) {
$ownname1 = $entry->nodeValue;
}

$entries = $xpath->query($ownName2query);
foreach($entries as $entry) {
$ownname2 = $entry->nodeValue;
}

$entries = $xpath->query($ownAddrquery);
$pattern = '#<br\s*/?>#i';
$replacement = ", ";
$i=0;
foreach($entries as $entry) {
$ownAddr = $entry->nodeValue;
if(!$entry->childNodes == 0) {
$ownAddr = $doc->saveHTML($entry);
}
$ownAddr2 = preg_replace($pattern, $replacement, $ownAddr, 15, $count); // replace <br/> with a comma
$ownAddr3 = strip_tags($ownAddr2);
}

return array($ownname1, $ownname2, $ownAddr3);
}

最佳答案

你的问题是:

header("Content-type: text");

只需删除它。为什么会在那里?

关于php - 是什么导致我的 PHP 页面将 html 标记呈现为文本(我该怎么做才能修复它)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31794137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com