PHP - 使用HTMLvalues创建数组的正确方法

时间:2015-09-18 07:10:41

标签: php

创建包含HTML值的PHP数组的最佳方法是什么?我需要能够将其编码为JSON并成功解码。

Ex:我的PHP数组看起来像这样:

Array
(
    [0] => Array
        (
            [Name] => <a href="http://gotourl.com?user=john+vz">john</a>
            [Sex] => M
        )

    [1] => Array
        (
            [Name] => <a href="http://gotourl.com?user=sue+hp">sue</a>
            [sex] => F
        )
)

3 个答案:

答案 0 :(得分:0)

我不知道你是如何处理数据的,或者你是否正在使用JS Framework,但这是一个小例子,它是如何工作的

$htmlAnchors = array (
    array (
            "Name" => '<a href="http://gotourl.com?user=john+vz">john</a>',
            "Sex" => "M"
        ),
    array(
            "Name" => '<a href="http://gotourl.com?user=sue+hp">sue</a>',
            "Sex" => "F"
        )
);

$jsonOutput = json_encode( $htmlAnchors );
?>
<!DOCTYPE html>
<html>
    <head>
        <title>TODO supply a title</title>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>

        <div>TODO write content</div>
        <div id="anchors">
            <!--insert links here-->
        </div>
        <script type="text/javascript">
            var json = <?php echo $jsonOutput; ?>;
            json.forEach( function( entry ) {
                var anchors = document.getElementById( "anchors" );
                anchors.innerHTML = anchors.innerHTML + entry.Name + "</br>";
            });
        </script>
    </body>
</html>

答案 1 :(得分:0)

只保存值,而不是html结构。

$array   = array();
$array[] = array(
    "link"  => "http://gotourl.com?user=john+vz",
    "name"  => "john"
    , "sex" => "M"
);
$array[] = array(
    "link"  => "http://gotourl.com?user=sue+hp",
    "name"  => "sue"
    , "sex" => "F"
);
$string = json_encode($array);

传输字符串并解码如:

$links = json_decode($string);
foreach ($links as $value) {
    printf('<a href="%s">%s Sex: %s</a>', $value['link'], $value['name'], $value['sex']);
}

您可以考虑保存值的任何其他结构。您不需要使用KVP保存它,您可以使用带有命名键的嵌套数组。

答案 2 :(得分:0)

PHP的json_encode函数为您完成了所有艰苦的工作。您可以创建数组并对其进行编码:

 UINavigationBar.appearance().backIndicatorImage = UIImage(named: "GoBack")!
 let backImg: UIImage = UIImage(named: "GoBack")!
 UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)