![](/img/trans.png)
[英]What's the easiest and quickest way to check if a string is a bcrypt hash?
[英]What's the quickest way to strip a string from a specific tag
我在字符串中有HTML。 我想剝去它的<head>
部分。 我用:
$html = preg_replace("/<head[^>]*?>.*?<\/head>/s", "", $html);
但就性能而言,這可能有點沉重。 還有更好的選擇嗎?
我知道我可以使用strip_tags()
並在第二個參數中列出所有接受的標簽,但列出的內容太多了。
當針對此SO頁面的一部分進行測試時,您當前的正則表達式需要6720步。
這個正則表達式<head[^>]*?>(?:[^<]*<??)*</head>
只需要376步,它應該返回相同的東西。 它應該比你的正則表達式快近20倍。
它的工作原理是貪婪地匹配不是<
here: [^<]*
那么,因為<??
很懶,它會嘗試立即匹配</head>
。 如果沒有匹配, <??
踢進來。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.