我有一个字符串:ABSOLUTEWORKLEADSTOSUCCESS
我有另一个字符串:'+'
现在我如何在各种索引处插入第二个字符串,让我们说第一个字符串(3,6,9)。
PS:我知道如何通过substr()来做到这一点。我正在寻找的是使用regex / preg_replace()
的东西答案 0 :(得分:1)
免责声明:我认为下面的解决方案是愚蠢的,但它完全符合您的要求:使用正则表达式和preg_replace
函数在特定索引处插入加号:
<?php
// find 3 groups: three first symbols, two after them, and two more
// find the pattern from the beginning of a string
$regex = '/^(.{3})(.{2})(.{2})/';
$str = 'ABSOLUTEWORKLEADSTOSUCCESS';
// perform a replace: use first group (3 symbols), insert a plus
// then use a second group (2 symbols) and insert another plus,
// then use a third group (2 more symbols) and insert the last plus
$out = preg_replace($regex, '$1+$2+$3+', $str);
echo $out;
预览here。
答案 1 :(得分:0)
您不能使用preg_replace插入字符串,因为您需要循环索引并使用substr_rplace在特定索引处插入第二个字符串,如下所示
$var = 'ABSOLUTEWORKLEADSTOSUCCESS';
$indexes = array(3,6,9);
$newString = $var;
foreach($indexes as $key=>$value) {
$newString = substr_replace($newString, '+', $value+$key, 0) . "\n";
}
echo $newString;
在此检查输出:https://eval.in/714177