1

我得到的只是一个 HTML 字符串,XMLHttpRequest然后我将它发布到一个文本框。

document.myform.outputtext.value = xhr.responseText;

</fb:send>但我只想要介于和之间的那个大 HTML 字符串的一部分<div class="styles">。我在 PHP 中做过类似的事情,但不知道如何在 JavaScript 中做到这一点?我想要的xhr.responseText只是介于</fb:send>和之间的部分<div class="styles">。如果有人帮我解决这个问题,我会很高兴。谢谢。

PHP 示例:

$start = strpos($file_contents, '</fb:send>');
$end = strpos($file_contents, '<div class="styles">', $start);
$code = substr($file_contents, $start, $end);
4

3 回答 3

2
var start = xhr.responseText.indexOf('</fb:send>');
var end = xhr.responseText.indexOf('<div class="styles">', start);
var code = xhr.responseText.substring(start, end);
于 2012-12-07T01:30:16.400 回答
2

正则表达式很酷。

var html = "foo</fb:send>bar<div class=\"styles\">baz";
var code = html.match(/<\/fb\:send>(.*?)<div class="styles">/)[1];
console.log(code); // 'bar'

只是不要指望他们完成HTML 解析器的工作

于 2012-12-07T01:31:11.303 回答
0

你试过indexOfsubstring?这是一个例子:

<script>
var stringTxt = "123abcxyz890";
var start = stringTxt.indexOf("a");
var end = stringTxt.indexOf("z", start);
var newStringTxt = stringTxt.substring(start, end);
</script>
于 2012-12-07T01:30:27.023 回答