我有一個通過AJAX從PHP返回的字符串。該字符串值是這樣的:在字符串中剪切字符串
<img src="/images/error.png"/>Invalid name`
有沒有辦法切斷開始<
與>
結束串?
我只需要字符串中的<img/>
。我不想從PHP返回唯一的<img/>
,因爲整個字符串在另一個頁面中使用。
我有一個通過AJAX從PHP返回的字符串。該字符串值是這樣的:在字符串中剪切字符串
<img src="/images/error.png"/>Invalid name`
有沒有辦法切斷開始<
與>
結束串?
我只需要字符串中的<img/>
。我不想從PHP返回唯一的<img/>
,因爲整個字符串在另一個頁面中使用。
這是什麼意思?這提醒'<img src="/images/error.png"/>'
var img = '<img src="/images/error.png"/>Invalid name';
var slice = img.slice(0, img.indexOf('>') + 1);
alert(slice);
謝謝。得到我需要的。 – 2013-03-20 00:14:40
您可以使用split() method,並在最後一個字符加回。
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));
編輯: 如果這個動作將被重複很多次,那麼性能也應考慮。 見第2版對於各純JS回答你走到這一步:第3假設標籤從0開始(「<」),最近3別:http://jsperf.com/15512887
我現在就算爲自己感到驕傲我的回答會不會被選中的人:-)
+1'slice'和'substring'在'substring'中可能有點小,因爲它只是爲字符串設計的,其中'slice'適用於所有數組。拆分速度要慢得多,因爲它將數組拆分爲兩個,我們只關心第一個數組。 – 2013-03-20 00:51:39
如果你明確什麼獲取初始標籤只是一個字符串,然後:
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] + '>' : '';
img src裏會不會有標籤可以是「>」?它會始終以「<」開頭嗎? – user829323 2013-03-20 00:08:36
要用特定的字符串分隔符「剪切」字符串,請使用split方法:'string.split(「<」)'。如果這個字符串不是靜態的,但可以包含任意的HTML,最好使用DOM來解析HTML並獲得你想要的部分。 – 2013-03-20 00:08:39
字符串如何不同? – 2013-03-20 00:09:19