Как получить определенную строку в середине моего текста

#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
)