php preg_replace每行后面的空格后的所有字符

时间:2014-12-05 14:09:40

标签: php regex preg-replace whitespace

我有一个脚本输出一个数组,当数组中的每个项目打印出来时,给我

https://media.com/2db93b9.jpg Ann
https://media.com/3198676.jpg Lin
https://media.com/ David
https://media.com/0f48c22.jpg Ulrich
https://media.com/135f3b7.jpg David

我正在尝试使用以下preg_replace

删除空格以及其后的所有内容
foreach($rows as $row) {
    $row = preg_replace("[\\ ].*", "", $row);
    echo $row . '<br />';
}

根据http://regexr.com,我的那种模式应该有效。但是当我尝试/[\\ ].*/g[\\ ].*时。两者都不起作用。它说php遇到了一个未知的修饰符。显然,我没有正则表达专家,我会喜欢任何帮助。

1 个答案:

答案 0 :(得分:2)

您需要使用:

$row = preg_replace('/ .*$/', "", $row);

或者:

$row = preg_replace('/\s.*$/', "", $row);
  • 正则表达式需要PHP中的分隔符
  • 正确的正则表达式应该是空格,一切之后使用.*$
  • \s匹配空格OR标签或换行符