如何编辑这个 preg_replace 来替换这个序列?
How to edit this preg_replace to replace this sequence?
我正在尝试使用
从 html 文件中的下面的标签中删除 _7935918
$str = preg_replace('/.*?(.*?)(_[0-9]{7})/', '', $html);
<span id="cld_tle_7935918" class="p_to" id="">
运气不好。
所以我的观点是将其保留为 <span id="cld_tle" class="p_to" id="">
我是不是漏掉了什么?
.*(.*?)
毫无意义:您希望使用该捕获组捕获什么?
相反,您可以明确要求您只想替换带引号的字符串。此外,我认为可以合理地预期位数可能并不总是恰好是 7。是否可以要求至少 2 位数,但也替换更多位数?
我建议这样做:
$str = preg_replace('/"([\w_]*?)_[0-9]{2,}"/', '""', $html);
您可以将 {2,}
增加到您认为最好的任何值。
我正在尝试使用
从 html 文件中的下面的标签中删除 _7935918$str = preg_replace('/.*?(.*?)(_[0-9]{7})/', '', $html);
<span id="cld_tle_7935918" class="p_to" id="">
运气不好。
所以我的观点是将其保留为 <span id="cld_tle" class="p_to" id="">
我是不是漏掉了什么?
.*(.*?)
毫无意义:您希望使用该捕获组捕获什么?
相反,您可以明确要求您只想替换带引号的字符串。此外,我认为可以合理地预期位数可能并不总是恰好是 7。是否可以要求至少 2 位数,但也替换更多位数?
我建议这样做:
$str = preg_replace('/"([\w_]*?)_[0-9]{2,}"/', '""', $html);
您可以将 {2,}
增加到您认为最好的任何值。