问题描述
我知道这是一个非常愚蠢的问题,但我想知道是否有一种方法可以使用 PHPStorm 工具或浏览器界面来查找 <div>
标签与标签的结尾相关联。
如果你有任何提示,谢谢,因为我在一些 PHP 的回声中得到了很多 div,我迷路了。
顺便说一下,我的代码是这样的。
if (isset($city_name) || (isset($longitude) && isset($latitude)) || isset($country_code)) {
echo '<div class="row align-items-center">';
echo '<div class="city_informations col-7 border border-primary">';
if (isset($city_name)) echo '<div class="row"><div class="col font-weight-bolder"><img src="img/geo-alt.svg"/> ' . strtoupper($city_name) . '</div></div>';
if (isset($country_code)) echo '<div class="row"><div class="col font-weight-bold"><img src="https://flagcdn.com/16x12/' . strtolower($country_code) . '.png"> ' . $country_code . '</div></div>';
if (isset($longitude)) echo '<div class="row"><div class="col"><img src="img/globe2.svg"/> <span class="font-weight-bold">Long.</span> ' . round($longitude,2) . "    <span class='font-weight-bold'>Lat.</span> " . round($latitude,2) . '</div></div>';
if (isset($timezone)) echo '<div class="row"><div class="col"><img src="img/clock.svg"/> <span class="font-weight-bold">' . strtolower(ltrim(date('g:i A',(time() + 3600 * (int)$diff_time)))) . '</span> (' . $timezone . ')</div></div>';
echo '</div>';
}
解决方法
PhpStorm 能够自动检测字符串中的语言,并将提供语法突出显示和一定数量的代码智能。但是,它不会将字符串文字中的 HTML 视为文档结构的一部分。您可以使用如下代码片段进行验证:
<div id="test1">
<span></span>
</div>
<?php
echo '<div id="test2">
<span></span>
</div>';
?>
<div id="test3">
<span></span>
</div>
“结构”侧窗格将仅反映不属于 PHP 字符串的两个 DIV:
这是该功能的进展。如果您需要高级 HTML 逻辑,最好编写文字 HTML,在这种情况下,您可以使用 Move Caret to Matching Brace action。
,对于面临同样问题的程序员,我找到了解决方案:
我在浏览器上显示页面源代码,然后将其复制到像 this one 这样的 html 格式化程序中。
然后我可以很容易地看到哪个 div 是打开的而不是关闭的,没有所有的 PHP 回显条件等。
还是谢谢!