1

私は現在、 codeigniter に組み込まれたプロジェクトに取り組んでいます。d/m/Yurl で日付を送信しようとしていますwww.mydomain.com/guwahati-project-starting-12/12/2013。しかし、コントローラー名を抽出したい場合

$news_title = $this->uri->segment(1);

上記$news_titleは までしか抽出しませんguwahati-project-starting-12。に置き換える以外に、完全な文字列を抽出する方法はあります/-?

4

5 に答える 5

1

コントローラー名に日付を含める必要がある場合 (完全なコントローラー名は であると想定しています)、日付形式が codeigniters uri ヘルパーで問題を引き起こすため、 usingguwahati-project-starting-12/12/2013に切り替えることをお勧めします。dd-mm-yyyy

使用する必要がある場合は、 をdd/mm/yyyy使用$this->uri->uri_string()して完全な uri を取得し、自分でセグメンテーションを処理できます。

于 2013-09-13T02:20:39.100 に答える
1

PHP の urlencode または rawurlencode 関数を使用するとうまくいく場合があります。また、application/config フォルダーにある config.php ファイルでは、次のように編集する必要がある場合があります。

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_,()&\/-';

「/」を必ず追加してください。

于 2013-09-13T02:22:22.717 に答える
0

なぜ urlencode を使用しないのですか? http://php.net/manual/en/function.urlencode.php

そして、日付をロードしたいときは、 http://php.net/manual/ru/function.urldecode.phpをurldecodeするだけです

于 2013-09-13T02:19:14.437 に答える
0

url_title() 関数は URL ヘルパーで利用できます... ロードしてこの関数を実行するだけです。

この関数は、文字の文字列をフィルター処理し、構成ファイル (ほとんどの場合、編集しないでください) で定義された文字リスト内の文字を許可します。

---申し訳ありませんが、私の答えは完全ではありません---

いくつかのオプション、1 は、複数のセグメントを使用しない理由です...日付間の「/」は異なるセグメントになります。www.mydomain.com/guwahati-project-starting-12/12/2013

guwahati-project-starting-12 = セグメント 1、12 セグメント 2、および 2013 セグメント 3 であること。

ただし、セグメント 1 がクラスで 2 がコントローラであるため、これは失敗します...

www.mydomain.com/class/function/guwahati-project/12/12/2013 を作ってみてください

これで、セグメント 3 がタイトル、4 が日、5 が月、6 が年になります。

于 2013-09-13T02:21:56.703 に答える