Поймать переменную строку после предопределенной иглы с помощью strpos () - PullRequest
1 голос
/ 05 июля 2011

У меня есть каверзная проблема, которую нужно решить.Я уже получил толчок в правильном направлении с помощью этого вопроса и ответов: Как найти следующую строку после иглы с помощью Strpos ()

Но моя проблема немного сложнее.

Это контекст:

Пользователи вводят сумму в поле комментария, вводя предварительно определенный термин («сумма»), а затем номер.Это бесплатное поле, поэтому мне нужно учитывать различные способы, которыми пользователи вводят сумму.С указателем валюты или без него, десятичными знаками и т. Д.

Пример:

$commentfield = "2011-7-5 Send bid. Amount: € 3482,- Also included Lease option";

или другой пример:

$commentfield = "2011-6-5 Bid accepted. Amount: 235. Client requested quick delivery";

Теперь мне нужно извлечь эту сумму вбыть в состоянии подвести итог.Есть ли кто-нибудь, кто может подтолкнуть меня в правильном направлении?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 05 июля 2011

Я думаю, что это может быть полезно.

$s ="2011-7-5 Send bid. Amount: € 3482,- Also included Lease option";
preg_match('/amount(\s*):(\s*)€(\s*)(?P<price>\d+)/i',$s,$match);
echo $match['price'];
0 голосов
/ 05 июля 2011

Звучит как работа для регулярных выражений с использованием функции PHP preg_match . Вам нужно будет получить список всех возможных форматов, которые люди уже используют для сумм.

В дальнейшем вы можете захотеть сделать сумму отдельным полем все вместе.

...