从长绳子上抓几根绳子
Grab pieces of string out of long strings
本文关键字:几根 更新时间:2023-09-26
我有一个例子,一个HTML文本文件中包含
<div class="container">
<div class="row" >
<div class="col-lg-4" id="code-01"></div>
<div class="col-lg-4" id="code-02"></div>
<div class="col-lg-4" id="code-03"></div>
</div>
</div>
我想从中获取字符串片段任何与
匹配的内容 id="code-**"
如果我做对了,它应该打印出来。它应该找到它3次,也就是
- id ="code-01"
- id ="code-02"
- id ="code-03"
我试过了
我把它当作一个字符串来测试。
PHP$string = '<div class="container"> <div class="row" > <div class="col-lg-4" id="code-01"></div> <div class="col-lg-4" id="code-02"></div> <div class="col-lg-4" id="code-03"></div> </div> </div>';
// dd(preg_match('/id="code-[0-9]"/', $string)); // I got 0
// dd(preg_match('/id="code-"/', $string)); // I got 0
// dd(preg_match('/id=/', $string)); // I got 1, why 1, there're 3 of them
<标题> JS h1> 能给点提示吗? 标题>
使用jQuery会容易得多:
$("div#[id^='code-']").each(function () {
console.log('id=' + $(this).attr("id"));
});
我已经为以下/id=["']code-[0-9]+/gi
更改了您的正则表达式。
$string = '<div class="container"> <div class="row" > <div class="col-lg-4" id="code-01"></div> <div class="col-lg-4" id="code-02"></div> <div class="col-lg-4" id="code-03"></div> </div> </div>';
preg_match('/id=["'']code-[0-9]+["'']/gi', $string));
<标题> JS h1> div class="answers">PHP示例只返回0或1的原因是preg_match
简单地检查字符串是否匹配一次。尝试preg_match_all
代替,因为它将继续并找到您正在寻找的所有匹配。要检索匹配的值,传入可选的$matches
参数,然后检查该数组的内容以查找结果。
您可以在PHP中使用strpos()或preg_match_all():
$pos = 0;
$token = "code-";
$pattern = '/id="code-'d+"/';
$string = '<div class="container"> <div class="row" > <div class="col-lg-4" id="code-01"></div> <div class="col-lg-4" id="code-02"></div> <div class="col-lg-4" id="code-03"></div> </div> </div>';
$pos = strpos ( $string, $token);
while ( $pos !== false ) {
echo substr ( $string, $pos, 7 ) . "->$pos<br>";
$pos = strpos ( $string, $token, $pos+1 );
}
preg_match_all($pattern, $string, $matches, PREG_SET_ORDER);
var_dump($matches);
使用strpos()不太灵活,因为它期望代码-??,因此需要额外的检查。
相关文章:
- 操作员”;新的“;根据我想在几个JavaScript文件中使用的类,在JavaScript中使用
- 指令的模板必须只有一个根元素:With restrict E&替换true
- Jquery移除或更改JSON根元素
- 如何检测负责网站某些部分的JavaScript根文件
- 没有根和跨域,无法使JSON正确读取
- 可以't将几个数字设置为<输入类型=“;数字“>
- 将文件从应用程序文件夹复制到JQM/Phonegap应用程序中的根文件夹
- ACE编辑器正在删除模块,因为define是't一根绳子
- 如何在Marionettejs中渲染根布局
- 限制对HTML/CSS/IMG或根索引文件夹的访问
- Angular Datetimepicker:指令'的模板;uib时间选择器'必须只有一个根元素
- 当加载几个js文件时,defer属性应该如何工作
- 如何使用ExpressJS(在主视图/根视图上)呈现带有参数的HTML视图
- 几秒钟后显示弹出窗口.
- 使用几个<脚本>标签不会't工作-只调用一个脚本
- 如何从数组中删除几个相同的项
- 此循环只匹配一次并结束.我该如何归还几根火柴
- 主干路由器几个根,如何正确加载这个
- 如何把一根绳子分成几组
- 从长绳子上抓几根绳子