Помогите написать несложный код

12
standartvv
На сайте с 12.06.2016
Offline
17
#11
SeVlad:
В реальном времени или одноразовая замена в базе? (если в реальном как выше все поняли и предложили - это нагрузка будь здоров)
Картинка одна на всех или должна выбираться по каким-то критериям? Каким?

В реальном времени. Картинка одна на всех, должна подставляться с проверкой, при загрузки страницы у пользователя.

---------- Добавлено 16.05.2017 в 10:48 ----------

Samail:

// $text переменная со статьёй
preg_match('@<ul>(.*?)</ul>@si',$text,$ul);
if (strpos($ul[0], 'слово для поиска') !== false){
$text = preg_replace('/<ul>/', '<img src="/image.png"><ul>', $text, 1);
}

Вроде код понятен, но это получается действительно огромная нагрузка на сервер. Тогда уж лучше отказаться от такой идеи.

Samail
На сайте с 10.05.2007
Offline
361
#12
standartvv:
Картинка одна на всех, должна подставляться с проверкой, при загрузки страницы у пользователя.

Ещё можно javascript'ом картинку подставлять.

S
На сайте с 13.10.2014
Offline
171
#13

для некоторого ускорения можно воспользоваться str_replace вместо preg_replace и substr_count вместо preg_match

SeVlad
На сайте с 03.11.2008
Offline
1609
#14
standartvv:
Тогда уж лучше отказаться от такой идеи.

Так а что мешает разово обработать контент и вставить картинку в пост? Автоматически имею ввиду. Это не подходит?

Как вариант - присвоить миниатюру/произвольное поле (можно просто признак) и выводить уже это.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
S
На сайте с 30.09.2016
Offline
469
#15

На самом деле, если на сайте используется кеширование, то нагрузка будет уже не такая большая. То есть первый раз пропускается через регулярку, а потом уже берётся страница из кэша.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
S
На сайте с 13.10.2014
Offline
171
#16

Sitealert, да даже если кэш не используется, тормоза начнут замечаться при посещаемости от 20 тысяч хитов в сутки. Опять-же можно использовать функции работы со строками, а не регулярки.

скорость выше в полтора два раза будет

S
На сайте с 30.09.2016
Offline
469
#17

Ввиду наличия условия "точного совпадения", полностью согласен, что можно обойтись строковыми функциями.

ДП
На сайте с 23.11.2009
Offline
203
#18

При замене ещё учтите, что картинку надо вставлять перед найденным списком, а не перед любым - их ведь несколько может оказаться.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий