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

カラーミーショップのSmartyで文字列の抜き出し方が分からず困っています。

1)$freepage[num].link_url ← フリーページのURLが入っています。
2)URL例:https://xxx.com/?mode=f14  ※末尾の数字のみ桁数も含め変化します。
3)上記の変数($freepage[num].link_url)から「=」以降の「f14」の部分を抜き出したいです。
4)コード内で別の変数を宣言して、そこに抜き出した文字列を格納するコードをご教示いただけますでしょうか。

以上宜しくお願いいたします。m(__)m

A 回答 (2件)

phpを編集できない場合は、


以下のような方法でうまくいくかもしれません。


<p id="val">ここに表示</p>
<script>
const params = new URL('{ $freepage[num].link_url }').searchParams;
document.getElementById('val').textContent = params.get('mode');
</script>
    • good
    • 1
この回答へのお礼

解決しました

少し苦労しましたが、なんとかなりました。
ご丁寧にありがとうございました。

お礼日時:2022/05/07 19:03

こんな感じでしょうか。



function mode_value ($url) {
$value = '';
$query = parse_url($url, PHP_URL_QUERY);
$params = explode('&', $query);

foreach($params as $param) {
$key_value = explode('=', $param);
if($key_value[0] === 'mode') {
$value = $key_value[1];
}
}
return $value;
}


echo mode_value( $freepage[num].link_url );
    • good
    • 1
この回答へのお礼

早速のご教示ありがとうございます。

ただ、大変申し訳ないのですが、カラーミーショップのテンプレート内でそのまま実装できるコードがいただきたいです。

何か一工程入れることで、上記コードがカラーミーショップのテンプレート内で使用できるのであれば、教えていただけると助かります。

お礼日時:2022/05/06 18:37

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