Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript/jquery-从字符串中获取第一个和最后一个单词,然后用类包装_Javascript_Jquery - Fatal编程技术网

Javascript/jquery-从字符串中获取第一个和最后一个单词,然后用类包装

Javascript/jquery-从字符串中获取第一个和最后一个单词,然后用类包装,javascript,jquery,Javascript,Jquery,因此,我有一个区块报价: <blockquote> <p>We seek to innovate: not for the sake of doing something different, but doing something better.</p> </blockquote> 我们寻求创新:不是为了做一些不同的事情,而是为了做一些事情 更好 我需要做的是从字符串中抓取第一个和最后一个单词。然后我需要在句子的第一个单词周围加上,在最

因此,我有一个区块报价:

<blockquote>
 <p>We seek to innovate: not for the sake of doing something different, but doing something
 better.</p>
</blockquote>

我们寻求创新:不是为了做一些不同的事情,而是为了做一些事情
更好

我需要做的是从字符串中抓取第一个和最后一个单词。然后我需要在句子的第一个单词周围加上
,在最后一个单词周围加上

仅供参考-文本将不断变化,因此第一个单词和最后一个单词并不总是相同的


我有办法做到这一点吗

使用jQuery首先将文本拆分为数组,修改数组中的第一个和最后一个元素,然后加入数组

$('blockquote p').html(函数(quote,现有){
var words=existing.trim().split(“”);
字[0]=''+字[0]+'';
单词[words.length-1]=''+单词[words.length-1]+'';
返回单词。join(“”);
});
。第一个字,
.最后一句话{
颜色:红色;
字体大小:粗体;
}

我们寻求创新:不是为了做不同的事情,而是为了做得更好

使用jQuery:

我想:

var blockquote=$('p').text(),//获取内部文本
bkFirst=blockquote.split(“,1)”//获取第一个单词
bkLast=blockquote.substring(blockquote.lastIndexOf(“”+1))//获取最后一个字
bkRemL=blockquote.substring(0,blockquote.lastIndexOf(“”))//从原始字符串(blockquote)中删除最后一个单词
bkMid=bkRemL.substr(bkRemL.indexOf(“”+1))//从bkRemL中删除第一个单词,以获取除first和last之外的所有单词。
first=''+bkFirst+'',//在span上追加第一个单词
last=''+bkLast+''//在span上追加最后一个单词
$('p').html(first+''+bkMid+''+last)//加入所有人。
.firstWord{
颜色:红色;}
.最后一句话{
颜色:蓝色;}

一个简单的句子,用几个词

你可以使用
split()

var my_text=$('blockquote p').text();
var words=my_text.split(“”);
var first_word=单词[0];
var last_word=单词[words.length-1];
my_text=my_text.replace(第一个单词“+”第一个单词+”);
my_text=my_text.replace(新的RegExp(“(“+last_word+”)$”,“g”),“+last_word+”);
$('blockquote p').html(my_text)
.firstword{
颜色:红色;
}
.最后一句话{
颜色:蓝色;
}

我们寻求更好的方法。创新:不是为了更好。做一些不同的事情,但做得更好


您也可以使用regex-使用regex查找第一个和最后一个单词,并将其替换为包装在span中的单词-您可以使用$1变量对所选单词进行寻址

'We seek to innovate: not for the sake of doing something different, but doing something better.'
.replace(/^([\w\-]+)/,'<span class="firstWord">$1</span>')
.replace(/([^\s]+$)/,'<span class="lastWord">$1</span>');
“我们寻求创新:不是为了做不同的事情,而是为了做得更好。”
。替换(/^([\w\-]+)/,“$1”)
。替换(/([^\s]+$)/,“$1”);

如果字符串中存在另一个
最后一个单词的实例,则
将失败