preg_match trim

gLaVoReZa

Registered
PHP:
preg_match('/^\s*Name\s*\:\s*(.+)$/im', $contents, $matches)

Значи от това нещо взимам $matches[1], тоест това дето е оградено в скобите. То може да е всичко, което е преди края на реда, обаче искам да се взима без евентуални разстояния отзад. Примерно ако стойността му е: "sample_string ", да се взима само "sample_string" без разстоянията накрая.

Пробвах така, но пак го взима с всички разстояния отзад:

PHP:
preg_match('/^\s*Name\s*\:\s*(.+)\s*$/im', $contents, $matches)

Знам, че trim() ще свърши работа, но искам само с preg_match да се направи далаверата, ако е възможно де.
 
Мисля, че ти трябва нещо такова: (не съм сигурен как беше точно, но това е идеята):

Код:
...([^[[:space:]]+)...
Идеята е да съвпадне с всичко, различно от разстояние и нов ред.
 
gLaVoReZa каза:
В самия низ може да има много разстояния, така че не може да не съвпада с разстояние.
Е тогава просто ползвай trim. Иначе както ти казах дай малко повечко примери и html за да ти се състави шаблон който работи. Примерно:
Name:растояние->" "sample_string
Name:sample_string" "<- растояние
Name:sample_string
Name: sample string
И прочие :)
 

Back
Горе