@smoln

Как правильно заменить текст в html?

Добрый день, есть html файл в нем есть js скрипты такого рода
<script type="text/javascript">ViewGifImage(this, 'sitedb/log/QA/General/SfpBCTuningCheck/gfx/qa_2023-02-01-212831-1.gif','sitedb/log/QA/General/SfpBCTuningCheck/gfx/qa_2023-02-01-212831-1.pix','322','242','ReflectionResultPlot','Frequency in MHz','0','Reflection Factor |r|','0','1','xffffff x000000 x000000 xff0000 x0000ff x00df00 xff00ff xff7f00','2','158','1','Reflection 0 Degrees','158','1','Reflection 90 Degrees','','','','','','','','','')
</script>

и
<script type="text/javascript">ViewGifImage(this, 'sitedb/log/QA/General/SfpBCTuningCheck/gfx/qa_2023-02-01-212831-2.gif','sitedb/log/QA/General/SfpBCTuningCheck/gfx/qa_2023-02-01-212831-2.pix','322','242','TransmissionResultPlot','Frequency in MHz','0','Transmission |t| in db','0','1','xffffff x000000 x000000 xff0000 x0000ff x00df00 xff00ff xff7f00','2','158','1','Transmission 0 Degrees','158','1','Transmission 90 Degrees','','','','','','','','','')
 </script>

Это отображение изображения через js, их может быть больше чем две...
как мне заменить тег и поменять все что внутри на
<img src="/какой-то путь/qa_2023-02-01-212831-1.gif">
для первой строки и
<img src="/какой-то путь/qa_2023-02-01-212831-2.gif">
для второй строки.
Повторюсь, таких замен может быть больше чем две
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 2
@alexalexes
Функция ViewGifImage не нативная, а скорее всего ее реализация прописана в какой-то подключаемой библиотеке JS.
Нужно погуглить спецификацию этой библиотеки, и посмотреть в доках, за что отвечает параметры в функции ViewGifImage.
Если я предположу (я не знаю, что за библиотека и не видел ее документации!), что первый параметр отвечает за указатель на html узел, куда вывалить бинарный ресурс изображения, то нужно как-то обозначить теги, чтобы указатели на эти теги выцепить из DOM через JS. Например, я хочу им задать уникальные идентификаторы:
<img id="image-1234" src="/какой-то путь/qa_2023-02-01-212831-1.gif">
<img id="image-5678" src="/какой-то путь/qa_2023-02-01-212831-2.gif">

Тогда из DOM я буду доставать указатели на эти элементы через функцию getElementById.
<script type="text/javascript">
let image_1234 = document.getElementById("image-1234"); // тут получаем ссылку на элемент с id="image-1234"
// далее, используем ее вместо this
ViewGifImage(image_1234, 'sitedb/log/QA/General/SfpBCTuningCheck/gfx/qa_2023-02-01-212831-1.gif','sitedb/log/QA/General/SfpBCTuningCheck/gfx/qa_2023-02-01-212831-1.pix','322','242','ReflectionResultPlot','Frequency in MHz','0','Reflection Factor |r|','0','1','xffffff x000000 x000000 xff0000 x0000ff x00df00 xff00ff xff7f00','2','158','1','Reflection 0 Degrees','158','1','Reflection 90 Degrees','','','','','','','','','');

let image_5678 = document.getElementById("image-5678"); // тут получаем ссылку на элемент с id="image-5678"
// далее, используем ее вместо this
ViewGifImage(image_5678, 'sitedb/log/QA/General/SfpBCTuningCheck/gfx/qa_2023-02-01-212831-2.gif','sitedb/log/QA/General/SfpBCTuningCheck/gfx/qa_2023-02-01-212831-2.pix','322','242','TransmissionResultPlot','Frequency in MHz','0','Transmission |t| in db','0','1','xffffff x000000 x000000 xff0000 x0000ff x00df00 xff00ff xff7f00','2','158','1','Transmission 0 Degrees','158','1','Transmission 90 Degrees','','','','','','','','','')
</script>
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
По ходу решения - самое простое решение - регулярки.
Что-то типа: /(<script.*-(1|2)\.gif.*<\/script>)/gsU и использовать в preg_replace.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы