把一根绳子切成一根绳子

Cut a string in a string

本文关键字:一根      更新时间:2023-09-26

我有一个字符串,它是通过AJAX从PHP返回的。字符串值如下所示:

<img src="/images/error.png"/>Invalid name`

有什么方法可以剪切以<开头、以>结尾的字符串吗?

我只需要字符串中的<img/>。我不想从PHP返回唯一的<img/>,因为完整的字符串在另一个页面中使用。

这是什么意思?这会提醒'<img src="/images/error.png"/>'

jsFiddle

var img = '<img src="/images/error.png"/>Invalid name';
var slice = img.slice(0, img.indexOf('>') + 1);
alert(slice);

您可以使用split((方法并添加回最后一个字符。

var returnedString = '<img src="/images/error.png"/>Invalid name';
var returnedImage = returnedString.split('>')[0] +'>';
var str = '<img src="/images/error.png"/>Invalid name';
alert(str.substring(str.indexOf('<'), str.indexOf('>')+1));

编辑:如果要多次重复此操作,则还应考虑性能。到目前为止,您得到的每个纯JS答案都有两个版本:前三个版本假设标记从0开始('<'(,后三个版本不:http://jsperf.com/15512887

我现在为自己感到骄傲,即使我的答案不是选择的:-(

如果您明确地只获取字符串的初始标记,那么:

var s = '  <img src="/images/error.png"/>Invalid name';
var tag = '<' + s.split(/'W+/g)[1] + '>';

尽管为了健壮性,你应该做一些类似的事情:

var parts = s.split(/'W+/g);
var tag = parts.length? '<' + parts[1] + '>' : '';