McLotos
25.12.2013 - 01:20
Добрый вечер.
Не могу понять как допилить функцию до рабочего состояния.
есть строка А из файла
есть массив В - ассоциативный массив
нужно прочитать каждую строку и посмотреть есть ли там ключ из массива В
если ключ есть, то заменить его на значение из массива В
если в массиве В такого ключа нет, заменить на пустоту
если в строке ничего нет вернуть её обратно
застрял вот на каком коде:
function myreplace($A,$B)
{
foreach ($B as $key => $value)
{
if(strstr($A,$key)==TRUE)
{$result=str_replace($key,$value,$A);}
}
return $result;
}
по моей логике, должно работать =), но почему-то из функции либо выходит только строка с заменой, либо всё но без замен вообще.
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Winston
25.12.2013 - 01:22
McLotos
25.12.2013 - 01:25
или я не понял как её применять, или тут что-то не так =)
ничего вообще не выводится
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Игорь_Vasinsky
25.12.2013 - 06:27
а как сделал?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
McLotos
25.12.2013 - 10:04
Спасибо, сработал вариант
str_replace(array_keys($replace), array_values($replace), $subject)
прикольно, всего одна строчка, а я уже пытался свою функцию изобрести =)))))
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
bestxp
25.12.2013 - 11:49
SergeySA
только у тебя баг в твоем решении, угадай какой?))))
McLotos
25.12.2013 - 19:52
bestxp
не угадаю, =(
потому-что это работает=)
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Игорь_Vasinsky
25.12.2013 - 21:28
str_replace с кириллицей в юникоде будет работать не корректно, поэтому тебе и показали strtr()
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
McLotos
25.12.2013 - 23:55
Ну это не проблема, в той части кода, вообще нереально что появится кириллица =)
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
bestxp
26.12.2013 - 00:30
не только
на каждую пару ключ значение прроизводится замена
то есть если вдруг после замены появится совпадение то еще раз будет замена, и результат может оказаться совершенно не тот
McLotos
26.12.2013 - 00:42
bestxp
Спасибо, я постараюсь это учесть, но пока таких проблем не возникало, посмотрим что будет дальше =)
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.