Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
403 / 19 / 5
Регистрация: 17.01.2017
Сообщений: 572

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

01.03.2019, 01:19. Показов 615. Ответов 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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru