2015-10-13 182 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(' |', '–',' |')));