アプリ版:「スタンプのみでお礼する」機能のリリースについて

すみません。エラーは出ないのですがプログラムが無視されて出力されて困っています。
フォームから入力された # で区切られた文字列
例えば、
#焼肉#すき焼き#しゃぶしゃぶ
を、#で分け表示しています。
以下のコードでは成功しいていますが、長いので定義済み関数とfor文で同じことをしたいです。(厳密には出力結果が少し違いますが・・・)
よろしくお願いします。

現在のコード
$tag=explode("#",$row[2],6);
$files=str_replace("タグ1",$tag[1],$files);
$files=str_replace("タグ2",$tag[2],$files);
$files=str_replace("タグ3",$tag[3],$files);
$files=str_replace("タグ4",$tag[4],$files);
$files=str_replace("タグ5",$tag[5],$files);
$files=str_replace("タグ",'<ul>'.'<li>'.'<a href="../article.php?tag='.$tag[1].'">'.$tag[1].'</a>'.'</li>'. ' <li> '.'<a href="../article.php?tag='.$tag[2].'">'.$tag[2].'</a>'.'</li>'. ' <li> '.'<a href="../article.php?tag='.$tag[3].'">'.$tag[3].'</a>'.'</li>'. ' <li> '.'<a href="../article.php?tag='.$tag[4].'">'.$tag[4].'</a>'.'</li>'. ' <li> '.'<a href="../article.php?tag='.$tag[5].'">'.$tag[5].'</a>'.'</li>'.'</ul>',$files);

作りたいコード

function tag()
{
$tag=explode("#",$row[2],6);
for( $i=0; $i<count($tag); $i++ ){
$files=str_replace("タグ1",'<a href="'.$tag[$i].'">'.$tag[$i].'</a>',$files);
}}
$files=str_replace("タグ",'<ul>'.'<li>'.tag().'</li>'.'</ul>',$files);

質問者からの補足コメント

  • すみません。

    この作業ではテンプレートファイルへ書き換える処理でして。

    ご回答ありがとうございます。やってみます。

    No.1の回答に寄せられた補足コメントです。 補足日時:2021/06/02 09:31
  • すみません。エラーが出てしまいました

    : syntax error, unexpected '$ans' (T_VARIABLE) in

    $ans .= $tag[$i];

    ここで構文エラーが起きてしまいます。
    どのように修正すればよいですか?

      補足日時:2021/06/02 09:58

A 回答 (1件)

やたら「str_replace」が出てきて、読みにくいんですが、やりたいのは以下のようなこと?




$ans = "";
for( $i=0; $i<count($tag); $i++ ){
$ans .= '<ul><li><a href="';
$ans .= $tag[$i];
$ans .= '">'
$ans .= $tag[$i];
$ans .= '</a>';
$ans .= '</li></ul>';
}
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!