在找到的字符串后面注入HTML并保留原始HTML
Inject HTML behind found string and preserve original HTML
我需要在保留原始html的同时向文本中注入一些html。不管是javascript还是php。
举个例子。基础测试:
Die geistes– und sozialwissenschaftliche
Auseinandersetzung mit <em>Human Enhancement</em> hat erneut zu
Debatten über den Status des Menschen als Cyborg geführt.
然后我得到了与html剥离字符串相同的东西。搜索字符串:
Die geistes– und sozialwissenschaftliche
Auseinandersetzung mit Human Enhancement hat erneut zu
Debatten über den Status des Menschen als Cyborg geführt.
我可以根据第二个字符串进行搜索,但需要在第一个字符串后面注入一些html。结果:
Die geistes– und sozialwissenschaftliche
Auseinandersetzung mit <em>Human Enhancement</em> hat erneut zu
Debatten über den Status des Menschen als Cyborg geführt.<span>1</span>
这不是那么容易…:(我可以通过Regex和jQuery的.text((函数找到并替换字符串。但这并不能保留原始的html。
php:strpos+针的长度,得到它在字符串中的结束位置$index,然后是substra_replace($string,$insertion,$index,0(;
我可以通过用正则表达式修改搜索语句来解决这个问题。用替换了所有空格
's*?(?:<'/?[^>]*?>)?'s*?
示例:https://regex101.com/r/nI0vY7/1
<?php
$string = "I want to add before this element";
function Add($add, $before, $in_content)
{
$p = strpos($in_content, $before, 0);
if ($p !== false)
return substr_replace( $in_content , $add , $p, 0 );
else
return false;
}
$result = Add("paragraph ","this",$string);
if($result !== false)
echo $result;
?>
你需要从html dom或数据库或文件中获取文本吗?
Javascript:
<div id="content">I want to add before this element</div>
<script>
var text_content = document.getElementById("content").innerText;
function Add(add, before, in_content)
{
var p = in_content.indexOf(before);
if (p !== -1)
return [in_content.slice(0, p), add, in_content.slice(p-1)].join('');
else
return false;
}
var result = Add("paragraph","this",text_content);
if(result !== false)
document.getElementById("content").innerText = result;
</script>
相关文章:
- 正在注入包含JS的HTML
- Meteor:在启动时将html注入客户端文件
- 注入的HTML仅在Dom中解释为字符串
- 在包含脚本的地方注入HTML
- 非侵入性Javascript HTML注入
- 将html注入<李>使用js或jquery
- Electron:将原始html注入BrowserWindow
- Html注入javascript代码
- Javascript 在两次 HTML 注入后停止工作
- 使用 jq 通过 html() 或 append() 将 HTML 注入到另一个元素 注入的元素不能被 jq 访问,但使
- 在没有服务器端资源的情况下将 HTML 注入到 HTML 文档中.(离线)
- 函数在jQuery ajax html注入后不起作用
- 使用JavaScript文件将HTML注入页面
- 使用Jquery的HTML注入
- 如何使用Cordova将HTML注入页面'的InAppBrowser
- 我可以将HTML注入iFrame吗
- jQM:只有一些转换在动态HTML注入后才起作用
- 如何将html注入Angular UI引导弹出窗口
- jQuery html注入列表没有包装
- 如何将html注入iframe,并在jquery-ui对话框中显示