我有一个通过 AJAX 从 PHP 返回的字符串。字符串值是这样的:
<img src="/images/error.png"/>Invalid name`
有什么办法可以剪断以 开头<
和结尾的字符串>
?
我只需要<img/>
来自字符串。我不想<img/>
从 PHP 返回唯一的,因为完整的字符串在另一个页面中使用。
我有一个通过 AJAX 从 PHP 返回的字符串。字符串值是这样的:
<img src="/images/error.png"/>Invalid name`
有什么办法可以剪断以 开头<
和结尾的字符串>
?
我只需要<img/>
来自字符串。我不想<img/>
从 PHP 返回唯一的,因为完整的字符串在另一个页面中使用。
你这是什么意思?这提醒'<img src="/images/error.png"/>'
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 答案,请参阅 2 个版本:前 3 个假设标签从 0('<')开始,最后 3 个不: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] + '>' : '';