我有一个逗号分隔的字符串,该字符串包含标签列表,并希望将其转换为数组以获取每个标签的链接。

例子:

$string = 'html,css,php,mysql,javascript';

我想要这样:
<a href="tag/html">html</a>, <a href="tag/css">css</a>, <a href="tag/php">php</a>, <a href="tag/mysql">mysql</a>, <a href="tag/javascript">javascript</a>

因此,结果将是一个字符串,其中包含逗号分隔的链接,每个链接后都有一个空格,最后一个链接后没有逗号。

我有此功能,其中$ arg ='html,css,php,mysql,javascript':
function info_get_tags( $arg ) {
    global $u;

    $tagss = '';
    if ( $arg == '' ) {
        return '';
    } else {
        $tags_arr = explode( ',' , $arg );
        foreach ( $tags_arr as $tag ) {
            $tags = '<a href="' . $u . 'tag/' . $tag . '/" title="' . $tag . '">' . $tag . '</a>';
            $tagss .= $tags;
        }

        return $tagss;
    }
}

该脚本对我有用,但没有逗号和空格,如果在此处添加逗号和空格,则可以:
$tags = '<a href="' . $u . 'tag/' . $tag . '/">' . $tag . '</a>, ';

我们会收到逗号和空格,但最后一个链接后面会出现逗号。

最佳答案

就像explode d一样,您可以再次 implode :

$tags = explode(',', $arg);
foreach ($tags as &$tag) {
    $tag = '<a href="' . $u . 'tag/' . $tag . '/" title="' . $tag . '">' . $tag . '</a>';
}

return implode(', ', $tags);

关于php - 将逗号分隔的字符串转换为数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5845121/

10-16 09:33