regex — php preg_replace все символы после пробела в каждой строке

У меня есть скрипт, который выводит массив, который, когда каждый элемент в массиве распечатывается, дает мне

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

Решение

Вам необходимо использовать:

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

Или же:

$row = preg_replace('/\s.*$/', "", $row);
  • Regex нужен разделитель в PHP
  • Правильное регулярное выражение должно пробел и все после использования .*$
  • \s соответствует пробелу ИЛИ табуляции или новой строки
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]