Zzepish
11.04.2016 - 19:13
str_replace осуществряет проход с лева на право.
Фишка в чем:
есть такое:
$string = '{Zzepish_module}';
$string = str_replace(['{Zzepish_module}','{Zz_m}', 'b'], ['{Zz_m}','{','c'],$string);
Выдаст: {
ВОпрос - как мне сделать, чтоб не было повторного прохода? Т.е. единоразово заменил данный сегмент строки и пошел дальше?
$string = str_replace(['{Zz_m}', '{Zzepish_module}', 'b'], ['{', '{Zz_m}', 'c'],$string);
он же проходит по циклу каждый элемент.
<?php
$string = '{Zzepish_module}';
$string = strtr ($string, array(
'{Zzepish_module}' => '{Zz_m}',
'{Zz_m}' => '{',
'b' =>'c'
));
echo $string;
Вроде работает
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Zzepish
11.04.2016 - 21:10
Я сейчас поясню, что я делаю,и , может, будет более понятно:
я делаю модули на странице (в шаблонах) в виде {vendorName_module}. Т.е. если интеграции модулей на страницу мне нужно, чтоб один модуль не переписывал текста другого модуля 9если это будет какой-то текст)
Игорь_Vasinsky
11.04.2016 - 21:17
preg_replace() может нужное количество замен производить. (если в мануале все аргументы глянуть:))
я когда-то пили модуль перелинковки для симплы
https://www.fl.ru/users/Igor_Vasinsky/viewp...p?prjid=5194567 - вот там и познокомились со всеми аргументами
_____________
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
Zzepish, шаблонизатор что-ли пишешь, брось ты это дело, бесполезно же.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Zzepish
11.04.2016 - 21:32
Игорь_Vasinsky
Я про эту фишку знаю. беда в том, что я не хочу задействовать регулярки, ради скорости работы скрипта(((
chee
Именно! Шаблонизатор)))
А чего бесполезно?
Игорь_Vasinsky
11.04.2016 - 21:43
Zzepish
ну это же обширная тема, есть и смарти и твиг - кто-то пользует - кто-то решает избежать потери памяти при их использовании
пиши-пиши - для опыта вреда не будет.
_____________
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
Цитата (Zzepish @ 11.04.2016 - 21:32) |
А чего бесполезно? |
Ну потому, что его написание не даёт ни опыта, ни каких то ощутимых удобств, говорю как велосипедист со стажем. Лучше или использовать нативный шаблонизатор (готовые уже кстати есть), либо монстров типа Twig, Smarty и прочее. Если ты пишешь на заказ, то нативный лучше, если универсальную CMS, то лучше Twig или Smarty. Хотя я для своей выбрал нативные шаблоны.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Zzepish
11.04.2016 - 21:53
Игорь_Vasinsky
я думаю на крайний случай заюзать preg_replace_callback. Вроде он работает, как мне надо!
chee
я просто пишу свой движок на ООП (ради интереса + закрепления знаний). Вот мне интересно написать абсолютно все с нуля)
Игорь_Vasinsky
11.04.2016 - 21:57
Цитата |
Лучше или использовать нативный шаблонизатор (готовые уже кстати есть), |
чем тебе не опыт?) я тоже прошёл через это и щас комфортно, даже более чем чувствую себя именно с нативным синтаксисом в tpl шаблонах.
_____________
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
Zzepish
11.04.2016 - 22:08
Игорь_Vasinsky
Смотри:
у меня есть Общий шаблон (<head>, <html>, css и прочая туфта); Есть шаблон страницы. В шаблоне страницы есть как html, так и что-то в стиле: {title}. Мне вот эти {title} надо заменить на модульные (или как мне вздумается). Беда всей херотени в том, что str_replace работает по циклу(
Игорь_Vasinsky, ой всё, вы видимо с ним на одной волне.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Игорь_Vasinsky
11.04.2016 - 22:40
Zzepishя и не спорил)
cheeкто волна?
я пишу что - делая свой шаблонизатор - он всё равно придёт к выводу - что велосипед велосипедный будет всегда велосипедом. и кинет свой взор на натив.
_____________
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
Цитата (Игорь_Vasinsky @ 11.04.2016 - 22:40) |
велосипед велосипедный будет всегда велосипедом |
я ничего не понял. БОЛЬШЕ ВЕЛОСИПЕДОВ БОГУ ВЕЛОСИПЕДОВ.
_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.