在每个圆括号前添加带有新 id 的 span 标签
adding span tag with new id before each round bracket
我有一些文本带有类似诗句的引用,我需要在每个圆括号前自动添加一个带有新 ID 的 span 标签(当访问页面时)。
输入:
<p>some text (Jn 1:2), more text sentences (Gn 5-12, 23 ref) and more etc.</p>
输出:
<p>some text <span id="1">(Jn 1:2)</span>, more text sdfkljgdf <span id="2">(Gn 5-12, 23)</span> and more etc.</p>
因此它会在每个圆括号 ( )
周围添加 span 标记,即使它们不在同一行(如果结束 )
在代码的另一行)。
我尝试了类似下面的方法..我对任何使用 php 或 Javascript..
的东西都持开放态度
var myString_before = str.split("(")[count];
//alert (myString_before);
//get all text before )
var myString_after = myString_before.split(")")[0];
alert(" ref: " + myString_after);
if (x != true) {
$('span').each(function (k) {
var replace_str = $(this).html().replace(/\(/g, '<div
style="display: inline" id= "' + pos + '">(</div>');
$(this).html(replace_str);
})
}
x = document.getElementsByTagName('div')[count].hasAttribute("style");
您可以混合使用 jQuery 的 .html()
and String.replace
:
let i = 0;
$('p').html((_, oldHtml) =>
oldHtml.replace(/\([^)]+\)/g, match => `<span id="${++i}">${match}</span>`)
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>some text (Jn 1:2), more text sentences (Gn 5-12, 23 ref) and more etc.</p>
(正则表达式只匹配括号之间的任何内容,包括它们。)
我有一些文本带有类似诗句的引用,我需要在每个圆括号前自动添加一个带有新 ID 的 span 标签(当访问页面时)。
输入:
<p>some text (Jn 1:2), more text sentences (Gn 5-12, 23 ref) and more etc.</p>
输出:
<p>some text <span id="1">(Jn 1:2)</span>, more text sdfkljgdf <span id="2">(Gn 5-12, 23)</span> and more etc.</p>
因此它会在每个圆括号 ( )
周围添加 span 标记,即使它们不在同一行(如果结束 )
在代码的另一行)。
我尝试了类似下面的方法..我对任何使用 php 或 Javascript..
的东西都持开放态度var myString_before = str.split("(")[count];
//alert (myString_before);
//get all text before )
var myString_after = myString_before.split(")")[0];
alert(" ref: " + myString_after);
if (x != true) {
$('span').each(function (k) {
var replace_str = $(this).html().replace(/\(/g, '<div
style="display: inline" id= "' + pos + '">(</div>');
$(this).html(replace_str);
})
}
x = document.getElementsByTagName('div')[count].hasAttribute("style");
您可以混合使用 jQuery 的 .html()
and String.replace
:
let i = 0;
$('p').html((_, oldHtml) =>
oldHtml.replace(/\([^)]+\)/g, match => `<span id="${++i}">${match}</span>`)
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>some text (Jn 1:2), more text sentences (Gn 5-12, 23 ref) and more etc.</p>
(正则表达式只匹配括号之间的任何内容,包括它们。)