Сконструировать Html-строку на основе простой строки

#php #html

#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?

Комментарии:

1. в php echo '<span class="tagstyle">' . implode('</span><span class="tagstyle">', explode(',','cat, dog, elephant, pig ')) . '</span>';

Ответ №1:

В PHP это может быть:

 <?php

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

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

echo $output;

?>
  

Ответ №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);
  

ПРИМЕР СКРИПКИ

Ответ №3:

Попробуйте использовать $.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> .......
  

ДЕМОНСТРАЦИЯ

Ответ №4:

Если это просто так, вы можете попробовать:

 '<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>';