Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (3) [1] 2 3  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> str_replace без повторного прохода
Zzepish  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5583
Пользователь №: 32538
На форуме: 5 лет, 1 месяц, 27 дней
Карма: 56




str_replace осуществряет проход с лева на право.
Фишка в чем:
есть такое:
$string = '{Zzepish_module}';
$string = str_replace(['{Zzepish_module}','{Zz_m}', 'b'], ['{Zz_m}','{','c'],$string);


Выдаст: {
ВОпрос - как мне сделать, чтоб не было повторного прохода? Т.е. единоразово заменил данный сегмент строки и пошел дальше?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1605
Пользователь №: 28976
На форуме: 5 лет, 11 месяцев, 25 дней
Карма: 100




$string = str_replace(['{Zz_m}', '{Zzepish_module}', 'b'], ['{', '{Zz_m}', 'c'],$string);

он же проходит по циклу каждый элемент.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1967
Пользователь №: 38654
На форуме: 3 года, 6 месяцев, 20 дней
Карма: 46





<?php
$string = '{Zzepish_module}';
$string = strtr ($string, array(
'{Zzepish_module}' => '{Zz_m}',
'{Zz_m}' => '{',
'b' =>'c'
));
echo $string;

Вроде работает


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5583
Пользователь №: 32538
На форуме: 5 лет, 1 месяц, 27 дней
Карма: 56




Я сейчас поясню, что я делаю,и , может, будет более понятно:
я делаю модули на странице (в шаблонах) в виде {vendorName_module}. Т.е. если интеграции модулей на страницу мне нужно, чтоб один модуль не переписывал текста другого модуля 9если это будет какой-то текст)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26438
Пользователь №: 21350
На форуме: 7 лет, 4 месяца, 9 дней
Карма: 739




preg_replace() может нужное количество замен производить. (если в мануале все аргументы глянуть:))

я когда-то пили модуль перелинковки для симплы https://www.fl.ru/users/Igor_Vasinsky/viewp...p?prjid=5194567 - вот там и познокомились со всеми аргументами


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1967
Пользователь №: 38654
На форуме: 3 года, 6 месяцев, 20 дней
Карма: 46




Zzepish, шаблонизатор что-ли пишешь, брось ты это дело, бесполезно же.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5583
Пользователь №: 32538
На форуме: 5 лет, 1 месяц, 27 дней
Карма: 56




Игорь_Vasinsky
Я про эту фишку знаю. беда в том, что я не хочу задействовать регулярки, ради скорости работы скрипта(((

chee
Именно! Шаблонизатор)))
А чего бесполезно?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26438
Пользователь №: 21350
На форуме: 7 лет, 4 месяца, 9 дней
Карма: 739




Zzepish
ну это же обширная тема, есть и смарти и твиг - кто-то пользует - кто-то решает избежать потери памяти при их использовании

пиши-пиши - для опыта вреда не будет.


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1967
Пользователь №: 38654
На форуме: 3 года, 6 месяцев, 20 дней
Карма: 46




Цитата (Zzepish @ 11.04.2016 - 21:32)
А чего бесполезно?

Ну потому, что его написание не даёт ни опыта, ни каких то ощутимых удобств, говорю как велосипедист со стажем. Лучше или использовать нативный шаблонизатор (готовые уже кстати есть), либо монстров типа Twig, Smarty и прочее. Если ты пишешь на заказ, то нативный лучше, если универсальную CMS, то лучше Twig или Smarty. Хотя я для своей выбрал нативные шаблоны.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5583
Пользователь №: 32538
На форуме: 5 лет, 1 месяц, 27 дней
Карма: 56




Игорь_Vasinsky
я думаю на крайний случай заюзать preg_replace_callback. Вроде он работает, как мне надо!

chee
я просто пишу свой движок на ООП (ради интереса + закрепления знаний). Вот мне интересно написать абсолютно все с нуля)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26438
Пользователь №: 21350
На форуме: 7 лет, 4 месяца, 9 дней
Карма: 739




Цитата
Лучше или использовать нативный шаблонизатор (готовые уже кстати есть),

чем тебе не опыт?) я тоже прошёл через это и щас комфортно, даже более чем чувствую себя именно с нативным синтаксисом в tpl шаблонах.


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5583
Пользователь №: 32538
На форуме: 5 лет, 1 месяц, 27 дней
Карма: 56




Игорь_Vasinsky
Смотри:
у меня есть Общий шаблон (<head>, <html>, css и прочая туфта); Есть шаблон страницы. В шаблоне страницы есть как html, так и что-то в стиле: {title}. Мне вот эти {title} надо заменить на модульные (или как мне вздумается). Беда всей херотени в том, что str_replace работает по циклу(
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1967
Пользователь №: 38654
На форуме: 3 года, 6 месяцев, 20 дней
Карма: 46




Игорь_Vasinsky, ой всё, вы видимо с ним на одной волне.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26438
Пользователь №: 21350
На форуме: 7 лет, 4 месяца, 9 дней
Карма: 739




Zzepish
я и не спорил)

chee
кто волна? laugh.gif

я пишу что - делая свой шаблонизатор - он всё равно придёт к выводу - что велосипед велосипедный будет всегда велосипедом. и кинет свой взор на натив.


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1967
Пользователь №: 38654
На форуме: 3 года, 6 месяцев, 20 дней
Карма: 46




Цитата (Игорь_Vasinsky @ 11.04.2016 - 22:40)
велосипед велосипедный будет всегда велосипедом

я ничего не понял. БОЛЬШЕ ВЕЛОСИПЕДОВ БОГУ ВЕЛОСИПЕДОВ.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (3) [1] 2 3  Ответ в темуСоздание новой темыСоздание опроса