1

放置此表达式的最佳方式是什么:

echo isset($GLOBALS['_url']) ? htmlspecialchars($GLOBALS['_url']) : ''

在这个参数里面:

<?php
    echo "
    <input type='text' value=' *INSERT EXPRESSION* ' />
    ";
?>

我不确定处理引号内引号的最佳方法是什么,因此不胜感激。我知道可以通过更改整体语法来避免这种情况,但是,鉴于这些限制,我怎样才能最好地做到这一点?谢谢你的帮助!

4

5 回答 5

2

最简单的方法来做到这一点......

<?php
    $exp = isset($GLOBALS['_url']) ? htmlspecialchars($GLOBALS['_url']) : '';

    echo "<input type='text' value=' $exp ' />";
?>
于 2012-08-22T04:36:05.947 回答
0

可能是这些方面的东西?

<?php
    echo "
    <input type='text' value='" . 
        (isset($GLOBALS['_url']) ? htmlspecialchars($GLOBALS['_url']) : '') . 
    "' />";
?>
于 2012-08-22T04:36:21.017 回答
0

这里有几种方法:

方法一:

<?php
    $expression = isset($GLOBALS['_url']) ? htmlspecialchars($GLOBALS['_url']) : '';

    echo "
    <input type='text' value='$expression' />
    ";
?>

方法二:

<?php
    $expression = isset($GLOBALS['_url']) ? htmlspecialchars($GLOBALS['_url']) : '';

    echo "
    <input type='text' value='" . $expression . "' />
    ";
?>

方法三:

<?php
    echo "
    <input type='text' value='" . isset($GLOBALS['_url']) ? htmlspecialchars($GLOBALS['_url']) : '' . "' />
    ";
?>

更新:
方法 4:我会使用方法 4 或 5,因为 PHP 处理起来更快。这里的变化是我使用单引号而不是双引号。

<?php
    echo '
    <input type="text" value="' . isset($GLOBALS['_url']) ? htmlspecialchars($GLOBALS['_url']) : '' . '" />
    ';
?>

方法五:

<?php
    $expression = isset($GLOBALS['_url']) ? htmlspecialchars($GLOBALS['_url']) : '';

    echo '
    <input type="text" value="' . $expression . '" />
    ';
?>
于 2012-08-22T04:39:29.080 回答
0

我总是用printf().

<?php

    printf("\n<input type='text' value='%s' />\n", isset($GLOBALS['_url']) ? htmlspecialchars($GLOBALS['_url']) : '');

?>
于 2012-08-22T04:47:36.723 回答
0

试试这个,

<?php
    define('URL',isset($GLOBALS['_url']) ? htmlspecialchars($GLOBALS['_url']) : '');
    echo "<input type='text' value=' ".URL." ' />";
?>
于 2012-08-22T04:48:03.087 回答