Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
обработка данных с помощью preg_replace
|
|||
|---|---|---|---|
|
#18+
Привет. Недавно очень добрые люди помогли мне с preg_replace. Более-менее разобрался, теперь ковыряю. Но вот наткнулся на проблему. Имеется переменная с исходным кодом страницы, в которой содержится BB-код спойлера. Мне нужно преобразовать эти данные, заменив BB-код спойлера на html. Решил так: Код: php 1. 2. Всё работает, но тут появилась проблема. Оказывается, спойлеров может быть несколько. Два, например: Код: php 1. "Endspoiler" Text И тут мне совсем не понятно как же с помощью preg_replace их оба обработать. Подскажите что-нибудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2016, 01:30 |
|
||
|
обработка данных с помощью preg_replace
|
|||
|---|---|---|---|
|
#18+
Сдаётся мне, надо инвертировать жадность регекспа. Чтоб не за последнее вхождение "[/spoiler]" цеплялся, а за первое. Конечно, если правильно угадал проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2016, 02:41 |
|
||
|
обработка данных с помощью preg_replace
|
|||
|---|---|---|---|
|
#18+
Есть библиотеки для бб кодов, возьмите готовую. Названий уже не помню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2016, 09:27 |
|
||
|
обработка данных с помощью preg_replace
|
|||
|---|---|---|---|
|
#18+
vkle, Если даже так, то как с позиционными параметрами (\1 \2 \3) разобраться? Ведь спойлеров может быть и 10. Чтобы точно меня правильно поняли, мне нужно из первой переменной сделать вторую: Код: php 1. 2. 3. Hett, Хочется решить эту задачу более чистым способом, не подключая какие-то там библиотеки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2016, 13:08 |
|
||
|
обработка данных с помощью preg_replace
|
|||
|---|---|---|---|
|
#18+
Покопался и решил задачу вот как: Код: php 1. 2. Всё работает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2016, 20:17 |
|
||
|
обработка данных с помощью preg_replace
|
|||
|---|---|---|---|
|
#18+
Вариант попроще Код: php 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2016, 01:30 |
|
||
|
обработка данных с помощью preg_replace
|
|||
|---|---|---|---|
|
#18+
Хм, а для меня мой вариант кажется нагляднее и проще. У меня обрабатывается всё одной функцией и позиционные параметры подставляются в цельный шаблон. Кому как :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2016, 16:34 |
|
||
|
обработка данных с помощью preg_replace
|
|||
|---|---|---|---|
|
#18+
andrey10, Просто разные подходы к решению задачи. Не в сторону наглядности глядел я, а в сторону упрощения преобразований. Если есть желание и время, попробуйте протестировать и сравнить производительность и использование памяти того и другого варианта на большом исходном тексте при большом количестве вхождений спойлера (десятки тысяч, чтоб разница была заметна). Ваш вариант использует одну функцию, но длинную регулярку. В моём варианте регулярка проще, но вызываются две функции (впрочем, str_replace() считается "лёгкой" по мнению разработчиков PHP). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.09.2016, 19:58 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=39298932&tid=1460945]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
85ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 263ms |
| total: | 446ms |

| 0 / 0 |
