如何处理与 PHP 回显的单引号和双引号的 HTML 代码?

2023-12-15

我不确定这是否是一种更简洁的编写方式,但我认为我在这里没有问题:

<?php switch ( $meta_box['type'] ) {
    case 'textarea':
        echo '<textarea name="<?php echo $meta_box[ 'name' ]; ?>">
        <?php echo htmlspecialchars( $data[ $meta_box[ 'name' ] ] ); ?>
        </textarea>'
        break;

这里更复杂,因为要回显的元素有单引号和双引号:

default:

       echo "<input type="text" name="<?php echo $meta_box[ 'name' ]; ?>"
           value="<?php echo htmlspecialchars( $data[ $meta_box[ 'name' ] ] ); ?>"" /><?php
    }

有什么建议重写这段代码吗?

这是完整的 switch 语句:

<?php switch ( $meta_box['type'] ) {
    case 'textarea':
        echo '<textarea name="<?php echo $meta_box[ 'name' ]; ?>">
        <?php echo htmlspecialchars( $data[ $meta_box[ 'name' ] ] ); ?>
        </textarea>'
        break;
    default:
       echo "<input type="text" name="<?php echo $meta_box[ 'name' ]; ?>"
           value="<?php echo htmlspecialchars( $data[ $meta_box[ 'name' ] ] ); ?>"" /><?php
    }
}

?>

如果你真的想outputPHP代码:

<?php switch ( $meta_box['type'] ) {
    case 'textarea':
        echo '<textarea name="<?=$meta_box[\'name\']?'.'>">
        <?=htmlspecialchars( $data[ $meta_box[ \'name\' ] ] ) ?'.'>
        </textarea>';
        break;
    default:
       echo '<input type="text" name="<?=$meta_box[ \'name\' ] ?'.'>"
           value="<?=htmlspecialchars( $data[ $meta_box[ \'name\' ] ] ) ?'.'>">';

?>

否则这对我来说更有意义:

<?php switch ( $meta_box['type'] ) {
    case 'textarea':
        echo '<textarea name="'.$meta_box['name'].'>">'.
          htmlspecialchars( $data[ $meta_box['name'] ] ).
        '</textarea>';
        break;
    default:
       echo '<input type="text" name="'.$meta_box[ 'name' ].'" '.
         'value="'.htmlspecialchars( $data[ $meta_box[ 'name' ] ] ).'">';
}

?>

但我猜想$data[$meta_box['name']]数组索引也不正确。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何处理与 PHP 回显的单引号和双引号的 HTML 代码? 的相关文章