заменить в строке "|" на "<br>"

718972

Guest
заменить в строке "|" на "<br>"

В строке:
$s="Строка1|Строка2|Строка3";

нужно заменить "|" на "<br>"

Как прально поюзать preg_replace(...) ?
 

718972

Guest
Спасибо!

-~{}~ 22.05.05 20:47:

намекните, плз, и на решение такой задачи:

Как из строки:
$s="Строка1<br>Строка2<br>Строка3<br>";

получить:
"<a href="filename1">Строка1</a><br><a href="filename2">Строка2</a><br><a href="filename3">Строка3</a><br>"
?

или
как выделить строки и записать их в массив?
 

HOCOK

Guest
PHP:
$expl=explode("<br>",$s);
for($i=0; $i<count($expl); $i++){
$expl[$i]="<a href=filename$i>$expl[$i]</a><br>";
}
print implode($expl);
 

718972

Guest
да, понял, спасибо!

единственное, в массив пишется пустой, ненужный, лишний, элемент..

наверное потому, что реально у меня в конце строки тоже находится "|".

т.е. строка у меня реально не такая:
$s="Строка1|Строка2|Строка3";

а такая:
$s="Строка1|Строка2|Строка3|";

тогда после первой замены получаем:
$s="Строка1<br>Строка2<br>Строка3<br>";

а после второго шага имеем:
$expl[1]=Строка1
$expl[2]=Строка2
$expl[3]=Строка3
$expl[4]= {Пусто}

из-за последнего в строке брейка(<br>) получается последний пустой элемент в массиве, да?
 

tristram

Guest
PHP:
$expl = explode("<br>",$s); 
for($i=0; $i<count($expl); $i++)
{
 if (!empty($expl[$i]))
{
  $expl[$i] = "<a href=filename$i>$expl[$i]</a><br>"; 
} 
print implode($expl);
 

MeMO

Guest
Помоему лучше будет
...
for($i=0; $i<count($expl)-1; $i++)
...
 
Сверху