如何在模式之后或之前截断字符串?
假设我有一个字符串,"abcdef"
我需要在之后截断所有内容,"abc"
因此输出将是:
def
如果我"def"
在输出之前说 truncate应该是:
abc
下面是我试过的代码
var str1 = "abcdefgh";
var str2 = str1.substr(str1.indexOf("abc"), str1.length);
console.log(str2);
Run Code Online (Sandbox Code Playgroud)
我没有得到输出。
我被困在这里任何帮助将不胜感激。
我正在使用w3c资源计时API.window.performance.getEntriesByType( "资源"); 这给出了包括iframe在内的资源列表.但是,为了掌握嵌入式iframe的资源,我需要掌握iframe的性能对象,这需要我对其'DOM节点/元素进行引用.
var myiframe2 = $("#myiframe2");
var myiframeContentWindow = myiframe2[0].contentWindow;
var iframeContentPerf = myiframeContentWindow.performance;
Run Code Online (Sandbox Code Playgroud)
问题是,如果我所知道的是iframe的URL,那么如何获取iframe的节点引用,这是我所知道的(我不知道iframe的id或名称与上面的代码示例不同).
除了遍历文档的元素然后过滤iframe并将iframe的URL与Resource Timing API返回的内容进行比较之外,是否有一种简单的方法来获取iframe的DOM节点(给定iframe的URL)?
有什么方法可以使用debug_backtrace()之外的其他东西来获取调用函数吗?
我正在寻找一种不那么贪婪的方式来模拟朋友或内部的范围.
假设我有A班和B班.
直到现在,我一直在使用debug_backtrace()
,这太贪心了(恕我直言).
我想到了这样的事情:
<?php
class A
{
public function __construct(B $callerObj) {}
}
class B
{
public function someMethod()
{
$obj = new A($this);
}
}
?>
Run Code Online (Sandbox Code Playgroud)
如果你想把它限制在一个特定的类,可能没关系,但是假设我有300个类,我想将它限制为25个?
一种方法是使用接口来聚合:
public function __construct(CallerInterface $callerObj)
但它仍然是一个丑陋的代码.
而且,你不能在静态类中使用这个技巧.
有更好的主意吗?