我想在同一[HANDLE]
中替换[HASHTAG]
和$tweet
如何合并这两行?
$tweet = str_replace('[HANDLE]', $handle, $tweetStrings[$key]);
$tweet = str_replace('[HASHTAG]', $tagStrings, $tweetStrings[$key]);
--------------更新
$tagStrings = array(
0 => '1',
1 => '2',
2 => '3',
3 => '4',
4 => '5',
5 => '6'
);
foreach ($handles as $handle) {
if(strlen($handle) > 0) {
$key = rand(0, count($tweetStrings));
$tweet = str_replace('[HANDLE]', $handle, $tweetStrings[$key]);
$tweet = str_replace('[HASHTAG]', $tagStrings, $tweet);
echo $tweet . PHP_EOL;
}
}
代码输出:你好 @twitterName 更多文字,看看http://website.com 数组
所以它没有用1/6之间的数字替换 str_replace('[HASHTAG] ,但显示数组
答案 0 :(得分:1)
你可以使用这样的数组:
$tweet = str_replace(array('[HASHTAG]', '[HANDLE]'), array($tagStrings, $handle), $tweetStrings[$key]);
有关str_replace()
的详情,请参阅手册:http://php.net/manual/en/function.str-replace.php
从那里引用:
搜索:强> 正在搜索的值,也称为针。 可以使用数组来指定多个针。
<强>取代:强> 替换找到的搜索值的替换值。 可以使用数组来指定多个替换。
答案 1 :(得分:1)
如果我是你,我会将它分为两行,以便更好地阅读代码。
$tweet = str_replace('[HANDLE]', $handle, $tweetStrings[$key]);
foreach ($tagStrings as $tag) {
$tweet = str_replace('[HASHTAG]', $tag, $tweet);
}
答案 2 :(得分:0)
您可以简单地用数组替换:
$tweet = str_replace(
['[HANDLE]','[HASHTAG]'], // array with values to be replaced
[$handle,$tagStrings], // array with replacing values
$tweetStrings[$key] // string
);