403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572

Поиск bbcode IMG по имени рисунка и изменения параметров

01.03.2019, 01:19. Показов 653. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
У меня есть четыре поля (input) высота, ширина, выравнивание и поиск (куда вносится имя картинки). Мне нужно заполнить эти параметры и при нажатии на кнопку "заменить", чтобы происходило автоматический поиск по имени картинки и замена параметров. Как этом можно сделать.
Сам bbcode выглядит вот так:
[img param="left:500:200"]/13432641.jpg[/img], атрибут param="выравнивание:ширина:высота".
Поиск всех img мне удалось сделать функция tagsImg. Вот весь код:
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
<head>
<title>Замена параметров</title>
<meta http-equiv="Content-Type" content="text/html; cjarset=utf-8"/>
<script src="js/jquery-1.11.0.min.js" type="text/javascript"></script>
<script>
var w,h,a,s;
function tagsImg(str) {
  var tags=str.match(/\[(([img]+)(?:(?:\=|\s)([^\]]+))?)\](.*)\[\/\2\]/gi);
  $("span").text(tags);
 
}
 
function change()
{
    a = document.getElementById("a").value;
    w = document.getElementById("w").value;
    h = document.getElementById("h").value;
    s = document.getElementById("s").value;
}
</script>
</head>
<body>
<textarea onkeyup="str=this.value;tagsImg(str);" id="mess" name="mess" rows="15" cols="45">
[img param="left:500:200"]/70117451.jpg[/img]
[img param="left:500:200"]/23124214.jpg[/img]
[img param="left:500:200"]/12312312.jpg[/img]
[img param="left:500:200"]/13432641.jpg[/img]
[img param="left:500:200"]/45223431.jpg[/img]
</textarea><br>
<span></span>
<p>Выравнивание:<br>
<input type="text" value="right" id="a"></p>
<p>Ширина:<br>
<input onkeyup="this.value = this.value.replace (/\D/gi, '').replace (/^0+/, '')" id="w"></p>
<p>Высота:<br>
<input onkeyup="this.value = this.value.replace (/\D/gi, '').replace (/^0+/, '')" id="h"></p>
<br><br>
<p>Поиск:
<input type="text" value="23124214.jpg" id="s"></p>
<button onclick="change()">Замена</button>
</body>
</html>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2019, 01:19
Ответы с готовыми решениями:

Как защитить от взлома через [img] [/img] BBcode
Добрый день! На сайте реализованы некоторые возможности BBcode в комментировании... Я так понимаю что взломать такой сайт с помощью...

Удаление bbcode img
Пытаюсь удалить тэг img из текста записываю регулярное выражение. $text = preg_replace(&quot;/\(.+)\/&quot;,&quot;&quot;,$text ); ...

Регулярка для bbcode img
Здравствуйте. bbcode: alt регулярка: &quot;/\(.+?)\/is&quot; результат:&lt;img src=&quot;link&quot; alt=&quot;alt&quot;&gt; Помогите с регуляркой для bbcode: alt ...

2
98 / 64 / 36
Регистрация: 04.12.2018
Сообщений: 158
01.03.2019, 18:39
Для начала нужна функция, чтобы из BBCode-строки получать те самые четыре значения, допустим в виде объекта. Регулярку надо бы доработать, чтобы в скобки захватывалось только нужное:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function parseBBCode(str) {
  const re = /\[img\s+param=\"(\w+):(\d+):(\d+)\"\]([^\[]+)\[\/img\]/
  const result = re.exec(str)
  return {
    align: result[1],
    width: +result[2],
    height: +result[3],
    path: result[4],
  }
}
 
const test = '[img param="left:500:200"]/70117451.jpg[/img]'
console.log(parseBBCode(test))
// { align: 'left', width: 500, height: 200, path: '/70117451.jpg' }
0
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572
03.03.2019, 03:54  [ТС]
Как мне сделать замену атрибута param.
Использовала replace, я вообще плохо понимаю как он работает.
PHP/HTML
1
2
3
4
re= /\[img\s+param=\"(\w+):(\d+):(\d+)\"\]((.(?!\[\/m\]))*.)\[\/img\]/ig;
 
test="[img param=\"left:500:200\"]/70117451.jpg[/img]";
alert(test.replace(re, 'right:300:100'));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.03.2019, 03:54
Помогаю со студенческими работами здесь

html img %20 в имени файла
Здравствуйте! На сервере лежит файл asd%20asd.jpg Если его вставить в html в тэг img: &lt;img src=&quot;asd%20asd.jpg&quot;&gt; - то...

Регулярка - Как вырезать img по имени файла?
Помогите плиз с регуляркой, убил весь день на поиск решения, перепробовал &lt;censored&gt; вариантов, но так и не выходит удалить из текста не...

Изменения атрибута src при нажатие на img
Пытаюсь сделать чтобы при нажатие на картинку изменялась её путь (src). Вот код &lt;img id=&quot;like&quot;...

Использование текущего значения переменной в имени рисунка
Здравствуйте. Решил освоить VB. Практикуюсь потихоньку. Столкнулся со следующим вопросом: На форме (Form1) имеется некоторое количество...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru