求救!我是新手,请问怎样用php截取字符串?
我数据库里有个字段是对产品的信息进行描述的,那里面包含了很多产品属性,我现在要把这些属性抽出来放进另外一张新表中,不同的产品又有不同的属性。请各位帮忙提点意见,小女子感激不尽啊!
下面列出几条属性,做代表
1.Codonics ChromaVista Media Paper/Color Ribbon, 8.5 x 12, 100 Printer Paper and Color Ribbon (100 sheets per package) Compatible with 1600/1660 Series. 怎样读取出‘X’左右的那两个数字
2.Epson Stylus Color 3000/Pro 5000 Yellow Ink Cartridge。 怎样读取出字符’Epson‘ 'yellow' ,即牌子和颜色。
我数据库里有个字段是对产品的信息进行描述的,那里面包含了很多产品属性,我现在要把这些属性抽出来放进另外一张新表中,不同的产品又有不同的属性。请各位帮忙提点意见,小女子感激不尽啊!
下面列出几条属性,做代表
1.Codonics ChromaVista Media Paper/Color Ribbon, 8.5 x 12, 100 Printer Paper and Color Ribbon (100 sheets per package) Compatible with 1600/1660 Series. 怎样读取出‘X’左右的那两个数字
2.Epson Stylus Color 3000/Pro 5000 Yellow Ink Cartridge。 怎样读取出字符’Epson‘ 'yellow' ,即牌子和颜色。
$ar = explode(" ","Epson Stylus Color 3000/Pro 5000 Yellow Ink Cartridge");echo "牌子:".$ar[0]."颜色:".$ar[5];
$str='Codonics ChromaVista Media Paper/Color Ribbon, 8.5 x 12, 100 Printer Paper and Color Ribbon (100 sheets per package) Compatible with 1600/1660 Series. ';
preg_match_all('/([\d\.])+ x ([\d\.])+/',$str,$arr);
print_r($arr);
第2个呢建议建立一个数组,用拆分的方法去查询,然后取出来,那么就可以动态的了..如果单单按照空格来拆分,出来的数据有可能是不同的.
按顶楼两条数据这样可以
<?
$str = 'Codonics ChromaVista Media Paper/Color Ribbon, 8.5 x 12, 100 Printer Paper and Color Ribbon (100 sheets per package) Compatible with 1600/1660 Series.';
$str2='Epson Stylus Color 3000/Pro 5000 Yellow Ink Cartridge';//得到$str两个数字
$nums = preg_split('/\s*x\s*/',preg_replace('/^.+?(\d+.+?x.+?\d+).+$/','$1',$str));
print_r($nums);//得到名字颜色
$name = preg_replace('/^(\S+).+$/','$1',$str2);
$color = preg_replace('/^.+?\s+?(\S+?)\s+Ink.+$/','$1',$str2);
echo '$name='.$name.' ';
echo '$color='.$color;
?>
<body>
<script >
function regex()
{var str=document.form1.name1.value;
var str2=str.split(",");
var x=str2[1].split("x")[0];
var y=str2[1].split("x")[1];
//var result = regex.test(str);
alert(x);
alert(y);
}
</script>
<form name=form1>
<input type=text name=name1 >
<input type=button onClick= "regex() " value= "test " >
</form>
</body>