我有一个步骤列表,他们echo
作为li
中的ol
项目进入视图。
所以,我需要删除前导数字(看起来像ol { list-style: decimal }
。
这是一个示例数组成员
- 结合1汤匙油......
醇>
我试过这个正则表达式
/^\d+\.\s*/
但是,它没有删除上面示例中的1.
但是,当我删除行锚点(^
)的开头时,它可以正常工作。
这是完整的代码。
foreach($method as &$step) {
$step = trim(preg_replace('/^\d+\.\s*/', '', $step));
var_dump($step); // This is what I quoted above
}
我做错了什么?
谢谢!
对不起,伙计们,这是其中一行的var_dump()
..
string(43) "4. Remove from heat and cover to keep warm."
对我而言,数字之前没有任何内容。
答案 0 :(得分:3)
数字之前是否有空格?
尝试
/^\s*\d+\.\s*/
答案 1 :(得分:1)
周围可能有额外的空白。您还可以^
使用m
修饰符更改其行为:
<?php
$s = <<<EOS
1. Combine 1 tbs oil...
2. Hello World
3. Ok then!
EOS;
echo trim(preg_replace('/^\s*\d+\.\s*/m', '', $s));