Преобразовать строку в php

12
[umka]
На сайте с 25.05.2008
Offline
456
#11
Sly32:
с дробными числами не работает...

А кто говорил про дробные числа? :)

Лог в помощь!
MI
На сайте с 16.07.2008
Offline
74
#12
$b = function($s){ return (preg_match_all("#<b>(.*?)</b>#", $s, $matches)) ? $matches : false; };

var_dump($b('<td><b>100</b></td><td><font color="red"><b>95</b></font></td>'));

10 символов....

Sly32
На сайте с 29.03.2012
Offline
303
#13

для такой строки

 '<td><b>100</b></td><td><font color="red"><b>9,5</b></font></td>';

помогите регулярку сделать чтоб перед числом пробел вставляло или как убрать все кроме чисел добавлением пробела между ними

---------- Добавлено 22.12.2014 в 13:32 ----------

'[umka:
;13372173']А кто говорил про дробные числа? :)

Я забыл, простите :o

[umka]
На сайте с 25.05.2008
Offline
456
#14

С дробными так

if (preg_match_all("/>\\s*(\\d+([\\.,]\\d+)?)\\s*</",$str,$arr)) {

print_r($arr[1]);
echo implode(" ",$arr[1]);
}
Sly32
На сайте с 29.03.2012
Offline
303
#15
'[umka:
;13372205']С дробными так

if (preg_match_all("/>\\s*(\\d+([\\.,]\\d+)?)\\s*</",$str,$arr)) {

print_r($arr[1]);
echo implode(" ",$arr[1]);
}

НЕ понимаю как работает. и не работает. Может просто регулярку подскажите добавления пробела?

MI
На сайте с 16.07.2008
Offline
74
#16

Sly32, там формируется массив из цифр и потом соединяется, очень удобно, посмотри документацию по этим функция, чтобы понять как они работают.

[umka]
На сайте с 25.05.2008
Offline
456
#17
Sly32:
НЕ понимаю как работает. и не работает. Может просто регулярку подскажите добавления пробела?

Вот конкретный пример, который 100% работает :)

$str='<td><b>10,0</b></td><td><font color="red"><b>9.5</b></font></td>';
if (preg_match_all("/>\\s*(\\d+([\\.,]\\d+)?)\\s*</",$str,$arr)) {
echo "Numbers: ".print_r($arr[1],1)."\nString: ".implode(" ", $arr[1]);
}

Результат:

Numbers: Array
(
[0] => 10,0
[1] => 9.5
)

String: 10,0 9.5

Результат далее используете, как хотите. В виде массива или в виде текстовой строки.

Sly32
На сайте с 29.03.2012
Offline
303
#18

[umka] Большое спасибо! Ваш вариант работает, правда почему то с одним исключением. Если дробная часть через точку- все нормально, если с запятой - не преобразовывается в число

неужто еще регулярку писать для замены запятой на точку?

В базу всвое время данные абы как вносились

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий