2016-05-16 6 views
0

正確なURLが一致する場合は、いくつかのコードを実行したいと思います。URLがPHPで完全一致の場合は何かをしてください

私は現在、この持っている:今、私は$browserUrlに基づいて新しいURLを構築するために意図された1つのラインを持っている

//Returns 'https://www.someurl.com' 
$browserUrl = curPageURL(); 

を。

<?php 
    //Gets the url of a specific page 
    $page = icl_object_id(2880, 'page', true); 
    $url = get_permalink($page); 
    //Cplits the url into useful parts for rebuilding 
    $parts = explode("/", $url); 
?> 

//Here I am rebuilding the url based on the url I retrieved with the code above 
<a href="<?php echo curPageURL() . $parts[4] . '#sendMessage'; ?>"><?php _e('Send us an Email','optionsBlock'); ?></a> 

しかし、三項演算子を使用することによって、私は実際にやろうとしています。これです:そのために私は、この作成した

<a href="<?php echo curPageURL() . $browserUrl == 'https://www.someurl.com' ? $parts[3] : $parts[4] . '#sendMessage'; ?>"><?php _e('Send us an Email','optionsBlock'); ?></a> 

をしかし、これはそうではないので、期待通りに動作しません直接のURLマッチを拾う。これは正しい方法ですか?何がしたいことは$browserUrlチェックに応じて$parts[3]または$parts[4]を使用することで、三項演算子が問題になる場合

答えて

0

は、その後、私はその後、三項演算子の結果を保持している、のは$partを言わせて、新しい変数を作成することをお勧め

<?php 
    //Gets the url of a specific page 
    $page = icl_object_id(2880, 'page', true); 
    $url = get_permalink($page); 
    //Cplits the url into useful parts for rebuilding 
    $parts = explode("/", $url); 
    $part = $browserUrl == 'https://www.someurl.com' ? $parts[3] : $parts[4]; 
?> 

//Here I am rebuilding the url based on the url I retrieved with the code above 
<a href="<?php echo curPageURL() . "{$part}#sendMessage"; ?>"><?php _e('Send us an Email','optionsBlock'); ?></a> 

それとも、連結内部の三項演算子を使用できますが、このように、適切に動作するために括弧で囲む必要があります:このように、連結にそれを使用

<a href="<?php echo curPageURL() . ($browserUrl == 'https://www.someurl.com' ? $parts[3] : $parts[4]) . '#sendMessage'; ?>"><?php _e('Send us an Email','optionsBlock'); ?></a> 

個人的に私はこれを読んでやや混乱しているので、これが好きではありません。

関連する問題