URLヘルパー
URLヘルパーは「 system/helper/url_helper.php 」ファイルで、WebサイトのURL情報を取得したり、 HTMLタグで利用するURLリンク文字列を生成する関数や、リダイレクトを制御する関数が定義されています。
URLヘルパーのロード
「 CI_Loader 」クラスの「 helper() 」メソッドでロードします。
URLヘルパーの関数
site_url($uri = '')
「CI_Config」クラスの「site_url()」
メソッドのラッパー関数です。
base_url($uri = '')
「CI_Config」クラスの「base_url()」
メソッドのラッパー関数です。
current_url()
アクセスされた完全なURLを返します。
// http://www.ci-guide.info/practical/helper/url
uri_string()
「CI_URI」クラスの「uri_string()」
メソッドのラッパー関数です。
// /practical/helper/url/
index_page()
「application/config/config.php」設定ファイルの「index_page」設定項目に設定されている値を返します。
//
anchor($uri = '', $title = '', $attributes = '')
引数で指定された情報を元に、HTMLのアンカータグ「<a href="">」を生成して返します。
第一引数は、完全なURL文字列、または、URIパス文字列を指定します。
URIパスを分割した配列で渡すことも可能です。
第二引数には、アンカータグで囲まれるタイトル文字列を指定します。
第三引数には、アンカータグに付加する属性の文字列、または、連想配列を指定します。
// <a href="http://www.ci-guide.info/practical/helper/url">
// http://www.ci-guide.info/practical/helper/url</a>
// <a href="http://www.ci-guide.info/practical/helper/url">URLヘルパー</a>
'/practical/helper/url/',
'URLヘルパー',
'class="link" id="url_helper"'
);
// <a href="http://www.ci-guide.info/practical/helper/url"
// class="link" id="url_helper">URLヘルパー</a>
echo anchor('/practical/helper/url/', 'URLヘルパー', $attr);
// <a href="http://www.ci-guide.info/practical/helper/url"
// class="link" id="url_helper">URLヘルパー</a>
anchor_popup($uri = '', $title = '', $attributes = FALSE)
引数で指定された情報を元に、HTMLのアンカータグ「<a href="">」を生成しますが、 JavaScriptの「window.open()」メソッドによるポップアップリンクとなります。
第一引数は、完全なURL文字列、または、URIパス文字列を指定します。
URIパスを分割した配列で渡すことも可能です。
第二引数には、アンカータグで囲まれるタイトル文字列を指定します。
第三引数に、FALSEを指定するとJavaScriptの「window.open()」メソッド
の第三引数がせっとされず「window.open(url, '_blank')」となります。
また、アンカータグに付加する属性情報の連想配列、及び、以下に示す「window.open()」メソッドの
第三引数にセットする属性情報の連想配列を指定することができます。
項目 | デフォルト | 説明 |
---|---|---|
width | 800 | POPUPウィンドウの横幅 |
height | 600 | POPUPウィンドウの高さ |
scrollbars | yes | スクロールバーの有無 |
status | yes | ステータスバーの有無 |
resizable | yes | サイズ変更の可否 |
screenx | 0 | 表示位置 デスクトップ左からの座標 |
screeny | 0 | 表示位置 デスクトップ上からの座標 |
- 第三引数指定なし
- 属性情報指定
'/practical/helper/url/',
'URLヘルパー',
);
// <a href='javascript:void(0);'
// onclick="window.open(
// 'http://www.ci-guide.info/practical/helper/url',
// '_blank'
// );">URLヘルパー</a>
'width' => '1000',
'height' => '450',
'scrollbars' => 'no',
'status' => 'no',
'resizable' => 'no',
'screenx' => '200',
'class' => 'link_popup',
);
echo anchor_popup(
'/practical/helper/url/',
'URLヘルパー',
$attr
);
// <a href='javascript:void(0);'
// onclick="window.open(
// 'http://www.ci-guide.info/practical/helper/url',
// '_blank',
// 'width=1000,height=450,scrollbars=no,status=no,
// resizable=no,screenx=200,screeny=0'
// );" class="link_popup">URLヘルパー</a>
mailto($email, $title = '', $attributes = '')
引数で指定された情報を元に、HTMLの(mailto:)アンカータグ「<a href="mailto:">」を生成して返します。
第一引数は、「mailto:」に続ける文字列を指定します。
第二引数には、アンカータグで囲まれるタイトル文字列を指定します。
第三引数には、アンカータグに付加する属性の文字列、または、連想配列を指定します。
// <a href="mailto:pilot@ci-guide.info?subject=Hello">メール</a>
safe_mailto($email, $title = '', $attributes = '')
利用方法は、「mailto()」関数と同様ですが、JavaScriptによる「mailto:」リンクを生成します。
これにより、スパマーによるメールアドレスの取得を困難にすることができます。
<script type="text/javascript">
//<![CDATA[
var l=new Array();
l[0]='>';l[1]='a';l[2]='/';l[3]='<';l[4]='|12523';l[5]='|12540';
l[6]='|12513';l[7]='>';l[8]='"';l[9]='|111';l[10]='|108';l[11]='|108';
l[12]='|101';l[13]='|72';l[14]='|61';l[15]='|116';l[16]='|99';l[17]='|101';
l[18]='|106';l[19]='|98';l[20]='|117';l[21]='|115';l[22]='|63';l[23]='|111';
l[24]='|102';l[25]='|110';l[26]='|105';l[27]='|46';l[28]='|101';l[29]='|100';
l[30]='|105';l[31]='|117';l[32]='|103';l[33]='|45';l[34]='|105';l[35]='|99';
l[36]='|64';l[37]='|116';l[38]='|111';l[39]='|108';l[40]='|105';l[41]='|112';
l[42]=':';l[43]='o';l[44]='t';l[45]='l';l[46]='i';l[47]='a';l[48]='m';
l[49]='"';l[50]='=';l[51]='f';l[52]='e';l[53]='r';l[54]='h';l[55]=' ';
l[56]='a';l[57]='<';
for (var i = l.length-1; i >= 0; i=i-1){
if (l[i].substring(0, 1) == '|')
document.write(""+unescape(l[i].substring(1))+";");
else
document.write(unescape(l[i]));
}
//]]>
</script>
*/
auto_link($str, $type = 'both', $popup = FALSE)
第一引数で指定された文字列から、自動でURLリンク、または、メールリンクを生成する文字列を抽出して
HTMLの「<a></a>」タグに変換して返します。
ブログ投稿記事などから自動でリンクを生成するのに便利です。
mailtoリンクは、safe_mailto()関数によるJavaScriptコードで生成されます。
第二引数には、URLリンクのみを対象とするか、メールリンクのみを対象とするか、または、両方を対象とするか 「url」、「email」、「both」の3つの中から指定します。
第三引数に、TRUEを指定するとURLリンクの「target=」属性が「_blank」となります。
echo auto_link('TOPページはこちら(http://www.ci-guide.info)<br> メールはこちら(pilot@ci-guide.info)');
メールはこちら()
echo auto_link('TOPページはこちら(http://www.ci-guide.info)<br> メールはこちら(pilot@ci-guide.info)', 'url');
メールはこちら(pilot@ci-guide.info)
echo auto_link('TOPページはこちら(http://www.ci-guide.info)<br> メールはこちら(pilot@ci-guide.info)', 'email');
メールはこちら()
echo auto_link('TOPページはこちら(http://www.ci-guide.info)<br> メールはこちら(pilot@ci-guide.info)', 'both', TRUE);
メールはこちら()
prep_url($str = '')
引数に指定された文字列の前に、「http://」を付加して返します。
// http://www.ci-guide.info
url_title($str, $separator = 'dash', $lowercase = FALSE)
第一引数で指定された文字列から、単語間のスペースを「-」ハイフン、または、「_」アンダスコアに置き換えて返します。
第二引数に、文字列「dash」を指定すると、区切り文字は「-」ハイフンとなり、「dash」以外を指定すると 「_」アンダスコアとなります。
第三引数に、TRUEを指定すると、第一引数で指定された文字列を全て小文字に変換します。
// PHP-Framework-CodeIgniter
// PHP_Framework_CodeIgniter
// php_framework_codeigniter
redirect($uri = '', $method = 'location', $http_response_code = 302)
HTTPレスポンスヘッダにリダイレクト用のヘッダを含め、クライアントからのリクエストをリダイレクトさせます。
第一引数には、リダイレクト先のURLを指定します。
第二引数に、文字列「refresh」を指定すると、「Refresh:0;url=""」をリダイレクトヘッダとしてヘッダ出力します。 デフォルトでは、「Location: 」をリダイレクトヘッダとして出力します。
第三引数は、「Location: 」リダイレクトヘッダのリダイレクトコードを指定します。
デフォルトは「302」です。
リダイレクトに「Refresh:」ヘッダを利用することはお勧めできません。