如何在表格中显示换行符的元值?

时间:2018-08-08 作者:wpdev

我有meta\\u键“oyuncular”,它有带换行符的meta值。我想得到它们并显示在带有两列的表中。名称和角色名称

enter image description here

$names = get_post_meta( get_the_ID(), \'oyuncular\', true );
$namesArray = explode( \'\\n\', $names);

<div class="table-responsive">
    <table class="table table-bordered">
        <thead>
        <tr class="table-success">
            <th>#</th>
            <th>Name</th>
            <th>Role Name</th>
        </tr>
        </thead>
        <tbody>

        <?php

        foreach( $namesArray as $key => $name ) { ?>

            <tr>
                <th scope="row">1</th>
                <td>Name</td>
                <td>Role Name</td>
            </tr>

            <?php
        }

        ?>
        </tbody>
    </table>
</div>

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

您可以使用explode()preg_split(), 像这样:

$i = 0;
foreach( $namesArray as $key => $name ) {
    $arr = explode( \' -\', $name, 2 );
    //$arr = preg_split( \'/\\s+\\-/\', $name, 2 );

    $name2 = isset( $arr[0] ) ? trim( $arr[0] ) : \'\';
    $role_name = isset( $arr[1] ) ? trim( $arr[1] ) : \'\';

    if ( $name2 || $role_name ) : $i++; ?>

    <tr>
        <th scope="row"><?php echo $i; ?></th>
        <td><?php echo $name2; ?></td>
        <td><?php echo $role_name; ?></td>
    </tr>

    <?php endif;
}
此外,您需要包装\\n 在双引号中:

$namesArray = explode( "\\n", $names); // not \'\\n\'
否则\\n 不会被评估为“新线”。

结束