2015-10-13 184 views
0

不知道這是否被問到,但是將三個字符串合併爲一個字符串的最佳方法是什麼。我嘗試添加一個數組,但它不起作用。php字符串與substr和strpos組合成一個字符串

我的字符串是: $linktitle = get_the_title(); $linkt = substr($linktitle, 0, strpos($linktitle, ' —')); $linkt2 = substr($linktitle, 0, strpos($linktitle, ' –')); $linkt3 = substr($linktitle, 0, strpos($linktitle, ' |'));

$linktitle輸出:

Facebook的創建類似YouTube的視頻功能裏面Facebook | RE /代碼 WNYC開闢新的播客處 - 紐約時報

我試圖在組合沒有工作: $linkall = substr($linktitle, 0, strpos($linktitle, array(' —', –',' |')));

我想什麼做到的是結合–|如上例所示(如果可能)。

+0

如果您在使用一個數組,可以使用'implode()'來做到這一點。 – Twisty

+0

你沒有道理。如何結合?更清楚地解釋你想達到的目標。 –

+0

請另外包含一個'$ linktitle'內容的例子。 – Twisty

回答

1

如何在包含字符串的數組上使用implode()?

喜歡的東西

$pieces = array($string1, $string2, $string3); 
$result = implode('', $pieces); 

你的情況,這也許會更有意義:

$pieces=array(); 
$pieces[] = substr($linktitle, 0, strpos($linktitle, ' —')); 
$pieces[] = substr($linktitle, 0, strpos($linktitle, ' –')); 
$pieces[] = substr($linktitle, 0, strpos($linktitle, ' |')); 
$result = implode('', $pieces); 
echo $result; 
+0

謝謝!解決問題。 –

0

看起來,你已經錯過了一個引號之前–

strpos($linktitle, array(' |', '–',' |')));