基于简单的字符串构造Html字符串

时间:2014-07-03 12:00:16

标签: php html

我知道如何使用str_replace(' ', '<span></span>', $text);

但有什么方法可以得到像

这样的结果
cat, dog, elephant, pig 

转换为

<span class="tagstyle">cat</span><span class="tagstyle">dog</span><span class="tagstyle">elephant</span><span class="tagstyle">pig</span>

在PHP中,jQuery是否可以像span方法一样替换逗号分隔值?

4 个答案:

答案 0 :(得分:4)

在PHP中可能是:

<?php

$string = 'cat, dog, elephant, pig';
$animals = explode(',', $string);
$output = '';

foreach ($animals as $animal) {
    $output .= '<span class="tagstyle">' . trim($animal) . '</span>';
}

echo $output;

?>

答案 1 :(得分:2)

尝试使用$.map()将数组转换为我们所需的格式,然后将该数组与空字符串连接,

var str = "cat,dog,elephant,pig";
var htmlString = $.map(str.split(','),
    function(val,i){ 
     return '<span class="tagstyle">'+ val + '</span>'; 
}).join('');  //<span class="tagstyle">cat</span> .......

DEMO

答案 2 :(得分:2)

你可以这样做:

var animals = "cat, dog, elephant, pig";
var temp = animals.split(',');
var html = '';
$.each(temp, function (index, item) {
    console.log(item);
    html += '<span class="tagstyle">' + item + '</span>';

})

$("#contain").html(html);

FIDDLE EXAMPLE

答案 3 :(得分:0)

如果只是这样简单,你可以尝试:

'<span class="tagstyle">'.str_replace(', ','</span><span class="tagstyle">',$text).'</span>';

$array = explode(', ',$text);
$newText = '<span class="tagstyle">'.implode('</span><span class="tagstyle">',$array).'</span>';