Добрый день всем! Подскажите пожалуйста, есть строка вида: "слово 1, слово 2"
Есть php код:
<?
$str = "слово1,слово2";
for($i=0;$i<count($p);$i++) {
echo '<a href="#">'.$p[$i].'</a>';
}
?>
Сейчас в результате выводится слово1слово2
слово1слово2
Как сделать подстановку в ссылку значения, так чтобы для каждой новой ссылки выводилось новое слово?
<a href="">слово1</a>
<a href="">слово2</a>
Весь код страницы:
<?
preg_match('/\{[,0-9]{1,120}\}/', $current_sub['AnimFotoId'],$gal,PREG_OFFSET_CAPTURE);
$gal = $gal[0][0];
$gal = preg_replace('/\{/', '',$gal);
$gal = explode(',',preg_replace('/\}/', '',$gal));
if (!count($gal)) {
unset($gal);
}
?>
<?
$str = $current_sub['AnimTitleFoto'];
$strArray = explode(",", $str);
$mp = '';
?>
<?
if ($gal[0] <> '') {?>
<div class="fotos" style="padding:30px;padding-top:0px;text-align:center">
<?
echo '<div class="g-content"><h2>'.$current_sub["AnimFotoZagolovok"].'</h2></div> ';
echo '<div class="block-events">';
echo '<div class="items">';
foreach ($gal as $item) {
$item = trim($item);
$format = '.jpg';
if (!@fopen('http://k-chydes.ru/netcat_files/2344_'.$item.$format,'r')) {
$format = '.JPG';
}
echo '<div class="item">';
echo '<div class="image"><span><a style="margin:10px;" href="/main/portfolio/portfolio_'.$item.'.html"><img width="256" height="170" src="/netcat_files/2344_'.$item.$format.'" /></a></span></div>';
echo '<div class="title">';
echo '<a href="#">';
$i = 0;
foreach ($strArray as $key => $word) {
if($i == $key)
{
$mp .= ''.$strArray[$key].'';
}
}
echo $mp;
$i++;
echo '</a>';
echo '</div>';
echo '</div>';
}
echo '</div>';
echo '</div>';
?>
</div>
<?
}
?>
Воспользуйтесь функцией explode
http://php.net/manual/ru/function.explode.php
<?php
$str = "слово1,слово2";
$strArray = explode(",", $str);
foreach ($strArray as $key => $word) {
echo '<a href="#">'.$word.'</a>';
}
Офтопик не издевайтесь над собой, форматируйте код так , что бы было понятно что и где.
Ваш код после правки:
<?php
preg_match('/\{[,0-9]{1,120}\}/', $current_sub['AnimFotoId'], $gal, PREG_OFFSET_CAPTURE);
$gal = $gal[0][0];
$gal = preg_replace('/\{/', '',$gal);
$gal = explode(',',preg_replace('/\}/', '',$gal));
if (!count($gal)) {
unset($gal);
}
$strArray = explode(",", $current_sub['AnimTitleFoto']);
if ($gal[0] <> '') {?>
<div class="fotos" style="padding:30px;padding-top:0px;text-align:center">
<?
echo '<div class="g-content"><h2>'.$current_sub["AnimFotoZagolovok"].'</h2></div> ';
echo '<div class="block-events">';
echo '<div class="items">';
foreach ($gal as $key => $item) {
$item = trim($item);
$format = '.jpg';
if (!@fopen('http://k-chydes.ru/netcat_files/2344_'.$item.$format,'r')) {
$format = '.JPG';
}
echo '<div class="item">';
echo '<div class="image"><span><a style="margin:10px;" href="/main/portfolio/portfolio_'.$item.'.html"><img width="256" height="170" src="/netcat_files/2344_'.$item.$format.'" /></a></span></div>';
echo '<div class="title">';
// Если количество и порядок картинок и подписей совпадает(по идее должно) то можно не мудрить.
// Ключ ($key) будет совпадать
if (isset($strArray[$key])) {
echo '<a href="#">';
echo $strArray[$key];
echo '</a>';
}
echo '</div>';
echo '</div>';
}
echo '</div>';
echo '</div>'; ?>
</div>
<? } ?>
На правах codereview:
@
- в коде быть не должно. Ошибки надо обрабатывать, а не прятатьfopen('http://k-chydes.ru/netcat_files/2344...
- Запрос к чужому ресурсу в цикле. Плохая идея, так как долго, плюс где гарантия что ресурс доступен?Есть список (должен быть именно сплошной список без разделений на колонки):
можно ли добавить еще 1 action, чтобы значение из формы передавалось на еще одну страницуЕсли можно, то как?
Нужно, чтобы после ввода значения в max сразу происходило сравнение