Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: (preg|str)_replace
цитата
21/09/08 в 10:57
 freeek
такая делема,
патерна и замена являются массивами
т.е. берутся соотвествующие элементы, ищутся и заменяются на соответсвующие,но

иногда получается так что массив патер содержит одинаковые значения, и получается что подменяется толко одно искомое

какие мысли, ак выйти из ситуации?
цитата
21/09/08 в 11:07
 wMaster
Пересмотреть логику программы.

ЗЫ. А вообще, ничего не понятно. А то что понятно, не понятно почему является проблемой.
цитата
21/09/08 в 11:13
 Sterx
правильно заданный вопрос содержит 50% ответа
цитата
21/09/08 в 12:18
 _s_[sov]
сорц в студию icon_smile.gif
цитата
21/09/08 в 13:16
 freeek
согласен, немного белебердово, но вопрос решился сменой алгоритма

но ради интереса повторюсь,

к примеру для стр_реплэйс (сёрч,реплэйс,сабж)

сёрч и реплэйс - массивы

но ерунда такая, что к примеру если в сабже имеются одинаковые значения
например:

сабж = "что то, где то и как то";
сёрч = аррэй (то, то, то);
реплэйс = аррэй (надо, хочешь, угодно);

хочу получить,

сабж = "что надо, где хочешь и как угодно";

получается

сабж = "что надо, где и как";
цитата
21/09/08 в 15:04
 -=Faraon=-
Код:
<?
$subj="что то, где то и как то";
$search=array("/\b(то)\b/","/\b(то)\b/","/\b(то)\b/");
$replace=array("надо", "хочешь", "угодно");
echo preg_replace($search,$replace,$subj,1);
?>
цитата
21/09/08 в 21:33
 localhost
функция strtr в отличие от str_replace делает только одну замену в строке, а str_replace работает рекурсивно, т.е. пересматривает строку замены заново каждый раз для каждого элемента поиска.


Эта страница в полной версии