Javascript 如何获取字符串匹配的开始索引和最后索引

Javascript 如何获取字符串匹配的开始索引和最后索引,javascript,html,Javascript,Html,我正在尝试获取字符串匹配的最后和第一个索引。例如: var text = 'I am a string and this is an image <img src="image.jpeg">'; var text='我是一个字符串,这是一个图像'; 我想做的是得到匹配的第一个索引和最后一个索引。我尝试过的例子: <script> function getLightBox(text) { var res

我正在尝试获取字符串匹配的最后和第一个索引。例如:

var text = 'I am a string and this is an image <img src="image.jpeg">';
var text='我是一个字符串,这是一个图像';
我想做的是得到匹配的第一个索引和最后一个索引。我尝试过的例子:

<script>
        function getLightBox(text) {
                var result = str.match(/<img src="(.*?)>/g).map(function(val){
                var res = val.replace(/<\/?img src =">/g,'').replace(/?>/g,'');
                var tag1 = text.firstIndexOf((/<img src="(.*?)>/g));
                var tag2 = text.lastIndexOf((/<img src="(.*?)>/g));
                var anchor1 = '<a href="images/' + res +'" data-lightbox="Christmas">';
                var anchor2 = '</a>'
                var newString = text.substring(0,tag1) + anchor1 + '<img src="' + res + '">'  + anchor2 + text.substring(tag2,text.length);
                return newString;
               
});
</script>

函数getLightBox(文本){
var result=str.match(//g).map(函数(val){

var res=val.replace(/您就快到了,我做了一些更改:

  • 正则表达式模式需要有
    *?
    才能惰性地匹配到下一个
    src
    属性或
    结束标记
  • 使用的方法是String.replace,因为它允许在第二个参数中有完全匹配的图像
    img
    ,也允许有src匹配的组
    ()
  • 使用字符串插值
    `
    (倒勾)可以简化结果字符串的连接
查看最后一个函数:

函数getLightBox(文本=“”){ 返回text.replace(//g,(img,src)=>{ 返回``; }); } 常量元素=document.getElementById('myElement'); element.innerHTML=getLightBox(element.innerHTML);
img{
填充:0 10px;
背景颜色:黄色;
}
a{
填充:0 20px;
背景色:红色;
}

我是一个字符串,这是一个图像:

谢谢!您现在知道如何使用保存文本的php变量并使用此函数对其进行转换了吗?谢谢。您不需要php来进行转换。您可以像这样使用javascript:
const element=document.getElementById('myTextWithImages');element.innerHTML=getLigthBox(element.innerHTML)
我理解这一点,但最终的目标是我有一个PHP变量,我希望在这个javascript函数中使用它,并将输出返回给一个PHP变量。我只是使用了一个javascript示例来让javascript工作javascript在客户机(浏览器)上运行。PHP在后端(服务器)上运行.JavaScript将只在处理完所有PHP之后运行。以前从未运行过。您可以做的是创建一个PHP函数,该函数的行为与我创建的JavaScript函数完全相同……但您需要问另一个问题,因为我不懂PHP,无法帮到您。
I am a string and this is an image <a href="images/image.jpeg" data-lightbox="Christmas"><img=src"image.jpeg"></a>