freeek
такая делема,
патерна и замена являются массивами
т.е. берутся соотвествующие элементы, ищутся и заменяются на соответсвующие,
но
иногда получается так что массив патер содержит одинаковые значения, и получается что подменяется толко одно искомое
какие мысли, ак выйти из ситуации?
wMaster
Пересмотреть логику программы.
ЗЫ. А вообще, ничего не понятно. А то что понятно, не понятно почему является проблемой.
freeek
согласен, немного белебердово, но вопрос решился сменой алгоритма
но ради интереса повторюсь,
к примеру для стр_реплэйс (сёрч,реплэйс,сабж)
сёрч и реплэйс - массивы
но ерунда такая, что к примеру если в сабже имеются одинаковые значения
например:
сабж = "что то, где то и как то";
сёрч = аррэй (то, то, то);
реплэйс = аррэй (надо, хочешь, угодно);
хочу получить,
сабж = "что надо, где хочешь и как угодно";
получается
сабж = "что надо, где и как";
-=Faraon=-
Код:
<?
$subj="что то, где то и как то";
$search=array("/\b(то)\b/","/\b(то)\b/","/\b(то)\b/");
$replace=array("надо", "хочешь", "угодно");
echo preg_replace($search,$replace,$subj,1);
?>
localhost
функция strtr в отличие от str_replace делает только одну замену в строке, а str_replace работает рекурсивно, т.е. пересматривает строку замены заново каждый раз для каждого элемента поиска.