У меня есть фрагмент текста, и я хочу заменить каждое слово, например, «автомобиль» на автомобиль, а число так: «car1», «car2», «car3» и т. Д. С PHP
Я пытался использовать str_replace (); но безрезультатно.
<?php
$text='yadadyayayay car yayayaya car aksdkjasd car car car car car car car';
$output=str_replace('car','car'.$count,$text,$count);
echo $output;
?>
Я пришел к выводу, что str_replace () не может быть правильным подходом.
Большое спасибо.
Вот мое решение
$findStr = 'car';
$str = 'yadadyayayay car yayayaya car aksdkjasd car car car car car car car';
$count = substr_count($str, $findStr);
$str = preg_replace("/$findStr/", "$findStr ", $str);
for($i=1; $i <= $count; $i++)
{
$str = preg_replace("/$findStr\D/", $findStr . $i, $str, 1);
}
echo $str;
Это будет выводить
yadadyayayay car1 yayayaya car2 aksdkjasd car3 car4 car5 car6 car7 car8 car9
Взглянуть preg_replace.
Шаблон может быть #car \ d + # i
Хорошо, я придумал это:
<?php
$numberofwords=substr_count($text,'car');
for($i=1;$i<=$numberofwords;$i++)
{
$text=preg_replace('/car/','car'.$i,$text,1);
}
?>
и похоже на работу 🙂 всем спасибо