#php #html #mysql
#php #HTML #mysql
Вопрос:
Итак, у меня есть цветовые коды RGB, хранящиеся в моей базе данных, вместо этого я хочу получить весь код rgb, например (rgb(0, 255, 128) Я хочу получить только 0, 255 и 128, я пробовал использовать trim, но безрезультатно.
$sql32="select * from tooth";
$q32=mysql_query($sql32) or die(mysql_error());
$row32=mysql_num_rows($q32);
$r32=mysql_fetch_assoc($q32);
$rgbcol=$r32['t_color'];
Я не знаю, что делать дальше, когда я извлек данные. пожалуйста, помогите мне
Комментарии:
1. Извлеките все значение из базы данных и используйте регулярное выражение для его разбора на php (например
preg_match
)2. Я не могу использовать preg_match, потому что мое значение непредсказуемо, я не могу указать фиксированное значение того, что нужно найти.
3. Как выглядит ваше значение. Пожалуйста, добавьте несколько форм. С вашим заявлением невозможно предоставить лучшее решение, чем присутствующие. Они соответствуют единственному приведенному примеру.
4. Хорошо, если вы не умеете использовать
preg_match
, возможно, пришло время кое-чему научиться 🙂
Ответ №1:
Использование регулярных выражений здесь было бы хорошей идеей
preg_match("/rgb((d ), (d ), (d ))/", "rgb(0, 255, 128)", $rgb);
после этого $rgb
будет содержать ваши значения цвета
$rgb[1] == 0;
$rgb[2] == 255;
$rgb[3] == 128;
Ответ №2:
$r32['t_color'] = "rgb(122,132,244)";
//remove everything except numbers and comma
$rgbcol = preg_replace("/[^0-9,]/", "", $r32['t_color']);
$rgbcol = explode(',',$rgbcol);
print_r($rgbcol);
Вывод
Array
(
[0] => 122
[1] => 132
[2] => 244
)