使用php删除一两位数字的行

机管局

我试图删除具有一个或两个字符的行。

前任:

text text
11
0
text

结果:

text text
text

我曾经用过$text = str_replace('/^(.{2})', 'dsfsdfsd', $text);但没用。

怎么了?

谢里夫

str_replace不接受正则表达式。这是一个针/干草堆搜索和替换功能。表示它寻找字符串文字

对于正则表达式搜索/替换,请preg_replace改用。

例如,如果您要删除任何一行包含正好1位数或恰好2位数的文本,则可以将以下正则表达式与一起使用preg_replace

$text = '
text text
11
0
text
';

$text = preg_replace('/^\d{1,2}$/m', '<replaced>', $text);

echo $text;
/**
 * This should give you ...
 * 
 * text text
 * <replaced>
 * <replaced>
 * text
 */

此处\d表示PCRE中的任何数字字符[0-9]方括号中的数字表示匹配1个数字字符或2个数字字符。从此表达式中删除插入符号和符号将使它与在主题中找到的任何1位或2位数字字符表达式匹配。在这里,它会在模式修改器允许PCRE引擎进入多行模式的每一行上寻找完全匹配的内容您也可以在手册中阅读有关PCRE模式语法的更多信息{1,2}m

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章