2016-11-01 18 views
0

各文字列にループを入れた後に最後の文字列を置き換えるにはどうすればよいですか? 私はこれを行うことができましたが、それでも最後の要素文字列をPHPで文字列を探した後に置き換えます。

// here my get string ?dir=hello1/hello2/hello3 

if (isset($_GET['dir'])) { 
    $hrefTabs = $_GET['dir']; 
    if (!empty($hrefTabs)) { 
     $arrayOfhref = explode('/', $hrefTabs);//I explode string/

     foreach ($arrayOfhref as $roothrefline) { 
      $trimstrhref = preg_replace('/\s+/', '', $roothrefline); // Here i trim white space 

      $mmhref = '<a href="'.$trimstrhref.'">'.$roothrefline.'</a>/'; // Here i assign each strin hyper reference 

      $toreplace = $roothrefline . '/'; 
      $lastobj = substr_replace($mmhref, $toreplace, strlen($mmhref)); // here i want the last element not to have hyper reference attribut 

      echo $lastobj; // but i get this at output 
      //<a href="">hello1</a>/hello1/<a href="">hello2</a>/hello2 /<a href="">hello3</a>/hello3 
     } 
    } 
} 

マイアウトを完了していないが、この

<a href="">hello1</a>/hello1/<a href="">hello2</a>/hello2 /<a 
href="">hello3</a>/hello3 

のように見える入れて、私はそれがあなたのforeachの前にこの

<a href="">hello1</a>/<a href="">hello2</a>/hello3 

答えて

0
$dir = "hello1/hello2/hello3"; 

    if(isset($dir)){ 
    $hrefTabs = $dir; 
    if(!empty($hrefTabs)){ 
    $arrayOfhref = explode('/', $hrefTabs);//I explode string/
    $i = 0; 
    foreach($arrayOfhref as $roothrefline) { 
     $trimstrhref = preg_replace('/\s+/', '', $roothrefline); // Here i trim white space 
     $mmhref = '<a href="'.$trimstrhref.'">'.$roothrefline.'</a>/'; // Here i assign each strin hyper reference 
     $toreplace = $roothrefline . '/'; 

     if(++$i === count($arrayOfhref)){ 
     echo $roothrefline; 
     } else { 
     echo $mmhref; 
     } 
    } 
    } 

}

何か...

+0

ごめんなさい@ spa900 your code worked –

2

のように見えていたいです

$lastElement = array_pop($arrayOfHref); 

とループの直後に$ lastElementを表示します。このような

http://php.net/manual/en/function.array-pop.php

+0

あなたは他の人が理解するために、完全なコードをより良く更新してくださいすることができます私はこのエラー '警告ました:array_pop()を期待しますパラメータ1は配列、nullは ' –

+0

@StuartBrianで与えられます。これはあなたのコードです。それを実装しようとしてください。成功すれば、いつでもあなたの質問を編集できます。 stackoverflowの目的は、誰かをコードするのではなく、問題を診断して解決策を見つけるのを助けることです。配列がarray_popを呼び出す前に宣言されているか確認してください。 – Mikz

+0

iiは解決策を尋ねる必要はありません。私はすべてのことを試してみました。 –

関連する問題