Я использую Summernote для публикации блогов, но использую фрагмент кода для загрузки изображений непосредственно на сервер, а не внутри самого текста, код выглядит следующим образом:
<script>$(document).ready(function() {
$("#summernote").summernote({
callbacks: {
onImageUpload : function(files, editor, welEditable) {
for(var i = files.length - 1; i >= 0; i--) {
sendFile(files[i], this);
}
}
}
});
});
function sendFile(file, el) {
var form_data = new FormData();
form_data.append('file', file);
$.ajax({
data: form_data,
type: "POST",
url: 'editor-upload.php',
cache: false,
contentType: false,
processData: false,
success: function(url) {
$(el).summernote('editor.insertImage', url);
}
});
}
</script>
<?php
if(empty($_FILES['file']))
{
exit();
}
$errorImgFile = "./img/img_upload_error.jpg";
$temp = explode(".", $_FILES["file"]["name"]);
$newfilename = round(microtime(true)) . '.' . end($temp);
$destinationFilePath = './img-uploads/'.$newfilename ;
if(!move_uploaded_file($_FILES['file']['tmp_name'], $destinationFilePath)){
echo $errorImgFile;
}
else{
echo $destinationFilePath;
}
?>
Я пытаюсь теперь включить лайтбокс во встроенные изображения, но не можете найти способ индивидуально изменить теги img для этого? Например,
$string = '<img src="firstimg.jpg"> a little bit of text <img src="secondimg.jpg">';
Мне нужно преобразовать его во что-то похожее на
<a class="example-image-link" href="firstimg.jpg" data-lightbox="example-set"><img class="example-image" src="firstimg.jpg"></a> a little bit of text <a class="example-image-link" href="secondimg.jpg" data-lightbox="example-set"><img class="example-image" src="secondimg.jpg"></a>
Я искал вокруг, но не нашел ничего, чтобы помочь с этим? Любая помощь будет оценена!