为什么我的编辑器没有突出显示我的所有PHP代码?

时间:2010-02-11 13:21:46

标签: php syntax-highlighting

在我的代码编辑器中,它通常以粗体蓝色打印显示PHP代码。我发现我的一些代码没有显示为粗体蓝图。有人可以看看下面的代码并告诉我,如果我做错了什么?提前谢谢。

    <td class="hr"><?php echo htmlspecialchars("payroll number")."&nbsp;" ?></td>
    <td class="dr"><input type="text" name="GevityNo" maxlength="10" value="<?php echo str_replace('"', '&quot;', trim($row["GevityNo"])) ?>"></td>
</tr>
<tr>
    <td class="hr"><?php echo htmlspecialchars("employee name")."&nbsp;" ?></td>
    <td class="dr"><textarea cols="25" rows="1" name="employee_name" maxlength="75"><?php echo str_replace('"', '&quot;', trim($row["employee_name"])) ?></textarea></td>
</tr>
<tr>
    <td class="hr"><?php echo htmlspecialchars("Sex")."&nbsp;" ?></td>
    <td class="dr"><select name="Sex">
    <option value=""></option>
    <?php
        $lookupvalues = array("male","female");
        reset($lookupvalues);
        foreach($lookupvalues as $val){
            $caption = $val;
            if ($row["Sex"] == $val) {$selstr = " selected"; } else {$selstr = ""; }
            ?>
            <option value="<?php echo $val ?>"<?php echo $selstr ?>><?php echo $caption ?></option>
    <?php } ?>
    </select>
</td>

5 个答案:

答案 0 :(得分:5)

$ cat > /home/tkn/tmp/foo.php
  ... snip ...
^C
$ php -l /home/tkn/tmp/foo.php 
No syntax errors detected in /home/tkn/tmp/foo.php

所以,是的,这是有效的PHP代码。找一个更好的编辑。

答案 1 :(得分:1)

语法高亮是您正在使用的代码编辑器的一部分。如果您的代码工作正常,那么就没有问题了。

答案 2 :(得分:0)

通常这些问题与错误转义有关。“没有看到整个代码很难说。

无论如何,请仔细检查这部分代码是否正常:

<?php echo $selstr ?>><?php echo $caption ?><

检查&gt;&gt;&lt;部分

答案 3 :(得分:0)

根据http://www.php.net/manual/en/language.expressions.php,分号终止一个表达式(而不是分隔两个表达式)。我猜想在像<?php echo $val ?>这样的代码中,是否必须没有分号才能使其100%符合?

自我纠正:http://www.php.net/manual/en/language.basic-syntax.instruction-separation.php

  

PHP代码块的结束标记   自动暗示分号

答案 4 :(得分:0)

为了使您的代码更具可读性,请考虑使用alternative syntax for control structures

<?php foreach(array("male","female") as $val): ?>
    <option value="<?php echo $val ?>" <?php echo ($row["Sex"] == $val)?'selected="selected"' : '' ?> > <?php echo $val ?> </option>
<?php endforeach; ?>

我认为这样可以更容易地看到代码的结构。