解析错误:语法错误,意外'<'-----使用echo <<< END ** END; -------
我已经投入了2天的工作,试图解决这个问题,当我在我的本地机器上加载下面的代码相当一部分它的工作原理,当我把它做真正的网站上,云它会提示这个错误。解析错误:语法错误,意外'<'-----使用echo <<< END ** END; -------
Parse error: syntax error, unexpected '<'
这种情况发生,当它到达行74
73 <?php
74 echo <<<END
75 <p>$fullAddress<br />Phone:
目前我的网站被打破任何帮助将apreciated。
代码:
<?php
$addressArray = array(
$row->fldAddress1,
$row->fldAddress2,
$row->fldCity,
$row->fldCounty,
$row->fldPostcode
);
$fullAddress = implode(", ", array_filter($addressArray));
$locationAsString = str_replace(array('-',"."), ' ', $row->location);
$locationAsString = str_replace("ireland", "northern ireland", $locationAsString);
$addressTeaser = $row->fldCity . ", " . $row->fldCounty . ", " . $row->fldPostcode . ", " . $locationAsString;
$shopName = $row->fldShopNameTidy;
$head = substr($shopName,0,1);
$head = strtoupper($head);
$storeHasWebsite = ($row->fldShopWebsite != "" && $row->fldShopWebsite != " " && $row->fldShopWebsite != null);
$storeHasStudio = $row->fldSSStudio;
$storeHasSnappyStudio = $row->fldStudio;
$storeHasBusinessPrinting = $row->fldBusiness;
$storeHasAnyStudio = $storeHasStudio || $storeHasSnappyStudio;
$storeHasAnyExtras = $storeHasStudio || $storeHasSnappyStudio || $storeHasBusinessPrinting;
$distance = $row->distance;
if ($distance < 100) {
?>
<tr>
<td>
<?php boxLightHeader(); ?>
<div class="store-details-main-wraper">
<a id="<?php echo($head); ?>" name="<?php echo($head); ?>" style="display:block;height:0px;width:0px;overflow:hidden;">$head</a>
<span class="shopnametidy" style="display:none;"><?php echo($row->fldShopNameTidy); ?></span>
<span class="shoplisttitle"><a href="/stores/<?php echo($row->fldShopNameTidy); ?>"><?php echo($row->fldShopName); ?></a></span>
<span>
<?php
if ($row->distance) {
echo("($row->distance miles)<br />");
}
?>
</span>
<?php if ($storeHasWebsite) { ?>
<a href="http://<?php echo($row->fldShopWebsite); ?>" class="web-clickthru-tracking" target="_blank" rel="nofollow">
<img src="/assets/images/icons/start-shopping-off.png" title="Start Shopping" class="img-swap" />Click & Collect</a><br >
<?php } ?>
<div>
<a href="/stores/<?php echo($row->fldShopNameTidy); ?>/map" class="map-tracking ">
<img src="/assets/images/icons/map-32-off.png" title="map" class="img-swap" />Map
</a>
<a href="/store-finder/direction/<?php echo($row->fldShopNameTidy); ?>" class="directions-tracking">
<img src="/assets/images/icons/directions-32-off.png" title="directions" class="img-swap" />Directions
</a>
<span class="contactStore details-tracking">
<img src="/assets/images/icons/store-contact-off.png" title="Contact" class="img-swap" />
Contact details</span>
<div class="contact-details-slider" style="height:140px;">
<div class="contact-details" style="float:left;">
<?php
echo <<<END
<p>$fullAddress<br />Phone:
$row->fldShopTel<br />
$row->fldShopEmail</p>
<hr class="hor-bar-color" />
<p>Get these contact details by:
<span class="sendEmailNew sendLink details-email-tracking" style="font-weight:bold; font-size:1.2em; text-decoration:underline">email</span> or
<span class="sendTextNew sendLink details-text-tracking" style="font-weight:bold; font-size:1.2em; text-decoration:underline">text</span>
<input name="shopId" type="hidden" value="$row->fldID" />
<span class="shopId" style="display:none;">$row->fldID</span></p><hr class="hor-bar-color" />
END;
?>
</div>
<div class="contact-form-placeholder" style="display:none;">foo</div>
</div>
</div>
<div class="extra-services">
<?php
if ($storeHasAnyExtras) {
echo <<<END
<span class="contactStore details-tracking">Specialist services:</span>
END;
}
if ($storeHasStudio){
echo <<<END
<img src="/assets/images/icons/portrait-studio.jpg" title="Snappy Snaps Studio" />
END;
}
if ($storeHasSnappyStudio){
echo <<<END
<a href="http://www.snappystudio.com/" target="_blank" rel="nofollow"> <img src="/assets/images/icons/snappy-studio-off.png" class="img-swap" title="Snappy Studio" /></a>
END;
}
if ($storeHasBusinessPrinting){
echo <<<END
<a href="http://www.snappysnapsprinting.co.uk/" target="_blank" rel="nofollow"><img src="/assets/images/icons/business-printing-off.png" class="img-swap" title="Business printing" alt="Snappy Snaps business printing" /></a>
END;
}
?>
<span class="shoplistservice" style="visibility:hidden; font-size:2px;">
<?php
if ($storeHasAnyStudio){
echo "Studio ";
}
if ($storeHasBusinessPrinting){
echo "Business Printing";
}
?>
</span>
<span class="shoplistaddress" style="visibility: hidden">
<?php echo($addressTeaser); ?>
</span>
</div>
</div>
<?php boxLightFooter(); ?>
</td>
</tr>
<?php } ?>
在<<<END
之后可能有空格。这不起作用。检查该行末尾是否有空格。
无论它被以某种方式加入,或者CRLF在代码中使用的换行符(的Windows?)到只使用CR(Linux呢?)
对,任何添加的字符都会影响解析。 – 2012-07-10 14:33:12
谢谢你会检查.... – user1514899 2012-07-10 16:37:10
我检查了白色的空间,他们是正确的, – user1514899 2012-07-10 16:39:15
echo <<<_END
//Woah, it works!
_END;
我认为你试图用定界符建设。 PHP.net。 这里是正确的语法,试试吧
@ametren - (张贴反对军阀的答案,因为你现在已经删除)我downvaoted您的文章,但我还没来得及写我的评论解释为何要删除......但建议你在定界符读了 - HTTP:/ /uk.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc – 2012-07-10 14:27:51
@MarkBaker谢谢你的提示,它不是我遇到过的。它达到-4没有评论,所以我删除了它,但我感谢你纠正我的知识的努力! – ametren 2012-07-10 14:38:19
谢谢我会研究一下,很高兴看到解决方案。 – user1514899 2012-07-10 16:16:03
你的语法看起来机器很可能是因为您的环境之间移动精细。你可能想尝试使用一个变量:
$html = <<<END
bla
bla
END;
echo $html;
OH还有另一种选择,非常感谢,我今天刚加入,我收到了很好的答复,感谢来自伦敦的各位... – user1514899 2012-07-10 16:16:56
这段代码[似乎是工作](http://codepad.org/ZaboSRsT)。你确定错误在那条线上吗? – jprofitt 2012-07-10 14:26:16
嗯......我现在没有时间检查,但您确定END不是保留字吗?此外,当涉及到空白时,Heredocs可能会很痛苦 - 我会检查以确保在终止令牌之前/之后没有任何额外的空白。 – 2012-07-10 14:26:40