1. eri - 02 Августа, 2016 - 22:11:10 - перейти к сообщению
Привет. Подскажите, регулярку для замены в тексте допустим, каждого 3 тега p, на другой тег <blockquote>, а идеале конечно чтобы, рандомно менялся каждый 3, или 4, или 5 тег, но необязательно.
2. Fart - 02 Августа, 2016 - 22:25:12 - перейти к сообщению
Если не секрет, а зачем менять рандомно теги? И это обязательно на стороне сервера делать?
3. vintag - 03 Августа, 2016 - 17:11:20 - перейти к сообщению
Не думаю чтобы регулярки помогли, но делается довольно просто
4. eri - 03 Августа, 2016 - 20:01:36 - перейти к сообщению
Подскажи, как сделать проще?
5. vintag - 04 Августа, 2016 - 09:37:33 - перейти к сообщению
eri пишет:
Подскажи, как сделать проще?
самое простое это прописать требуемые элементы в другом элементе, элементах. Для этого подойдут таблицы в идеале. ид каждой ячейки должно соответствовать ид заменяемого элемента, например, b0 - c0, b1 -c1, b2-c2 и тд, где цифра есть переменная счетчик исмпользуемая при составлении страницы средствами пшп. таких цифр может быть так же две и более, не важно. Главное что мы делаем с этим всем потом уже явкойскриптом. А делаем мы просто, выбираем ид ячейки таблицы, b0, меняем первую буквсу на c и получается что мы уже обращаемся к элементу который надо сменить. Да льше присваиваем чемуто там содержимое тега, сам тег из ячейки удаляем и прописываем новый в ячейки с содержимым которое сохранили предварительно и ид.
<td id="b0"><p id="c0>содержимое</p></td>
Ну и думаю понятно как из этого каскадную сделать смену
6. Строитель - 04 Августа, 2016 - 12:24:44 - перейти к сообщению
vintag пишет:
Если я его правильно понял, он получает тег <p> динамически. Иначе зачем ему нужна была бы регулярка, если бы он мог переписать третий по счёту тег "ручками". самое простое это прописать требуемые элементы в другом элементе, элементах.
vintag пишет:
С таким же успехом можно было бы задать id для тега <p> .
Для этого подойдут таблицы в идеале. ид каждой ячейки должно соответствовать ид заменяемого элемента
7. Строитель - 04 Августа, 2016 - 16:39:47 - перейти к сообщению
eri пишет:
Одной регуляркой тут наверное не обойтись Подскажите, регулярку для замены в тексте допустим, каждого 3 тега p, на другой тег <blockquote>
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $str = '
- <p>Тег1</p> Текст вне параграфа <p>Тег2</p><p>Тег3</p><p>Тег4</p><p>Тег5</p>
- <p>Тег6</p><p>Тег7</p><p>Тег8</p><p>Тег9</p><p>Тег10</p>
- ';
- $out = '';
- foreach ($matches[0] as $key => $val) {
- }
- echo $out;
(Добавление)
eri пишет:
Вот так будет рандомно меняться каждый 3, или 4, или 5 тег в идеале конечно чтобы, рандомно менялся каждый 3, или 4, или 5 тег
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $str = '
- <p>Тег1</p> Текст вне параграфа <p>Тег2</p><p>Тег3</p><p>Тег4</p><p>Тег5</p>
- <p>Тег6</p><p>Тег7</p><p>Тег8</p><p>Тег9</p><p>Тег10</p>
- ';
- $out = '';
- foreach ($matches[0] as $key => $val) {
- }
- echo $out;