Я хочу вставить символ после некоторых союзов. переменная $ cont имеет некоторый текст. Мой код:preg_replace in for loop
$conjs = array ('i', 'a', 'w');
$size = sizeof($conjs);
$replacm = ' $1 ';
for ($i=0; $i < $size; $i++){
$pattern = '/\s(' . $conjs[$i] . ')(\s)/';
$replaced = preg_replace($pattern, $replacm, $cont);
}
print $replaced;
Это возвращает $ cont текст, измененный только с помощью последнего элемента массива ("w"). Что я делаю неправильно?
'preg_replace()' принимает массив в качестве аргумента, так что вы можете просто сделать: 'паттерны = array_map (функция $ ($ v) {return "/ \ s (". $ v. ") (\ s) /";}, $ conjs); echo $ replace = preg_replace ($ patterns, "$ 1 ", $ cont); ' – Rizier123
[Не использовать' sizeof() 'для получения длины массива] (http://php.net/manual/fr/function .sizeof.php # 85892). – D4V1D
Но что здесь '$ cont' здесь –