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

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

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



Аццкая хрень
******

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




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


Выдаст: {
ВОпрос - как мне сделать, чтоб не было повторного прохода? Т.е. единоразово заменил данный сегмент строки и пошел дальше?


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

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



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

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




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

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

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



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

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 15 дней
Карма: 40





<?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  
 ۩  Дата
Цитировать сообщение

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



Аццкая хрень
******

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




Я сейчас поясню, что я делаю,и , может, будет более понятно:
я делаю модули на странице (в шаблонах) в виде {vendorName_module}. Т.е. если интеграции модулей на страницу мне нужно, чтоб один модуль не переписывал текста другого модуля 9если это будет какой-то текст)


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

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



Лысый и злой
******

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

Не курю:
1 год, 3 месяца, 21 день


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

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


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

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

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



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

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 15 дней
Карма: 40




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


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

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

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



Аццкая хрень
******

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




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

chee
Именно! Шаблонизатор)))
А чего бесполезно?


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

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



Лысый и злой
******

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

Не курю:
1 год, 3 месяца, 21 день


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

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


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

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

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



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

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 15 дней
Карма: 40




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

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


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

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

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



Аццкая хрень
******

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




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

chee
я просто пишу свой движок на ООП (ради интереса + закрепления знаний). Вот мне интересно написать абсолютно все с нуля)


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

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



Лысый и злой
******

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

Не курю:
1 год, 3 месяца, 21 день


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

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


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
 ۩  Дата
Цитировать сообщение

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



Аццкая хрень
******

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




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


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

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



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

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 15 дней
Карма: 40




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


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

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

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



Лысый и злой
******

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

Не курю:
1 год, 3 месяца, 21 день


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

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

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


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

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

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



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

Профиль
Группа: Сын полка
Сообщений: 1847
Пользователь №: 38654
На форуме: 3 года, 15 дней
Карма: 40




Цитата (Игорь_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  Ответ в темуСоздание новой темыСоздание опроса