<?php
$sourcestring='part "C28"
{ type : "1AB010050093",
%cadtype : "1AB010050094",
shapeid : "2_1206",
descr : "4700.0000 pFarad 10.00 % 100.0 - VE5-VS3",
insclass : "CP6A,CP6B",
gentype : "RECT_032_016_006",
machine : "SMT",
%package : "080450E",
%_item_number: "508",
%_Term_Seq : "" }
part "C29"
{ type : "1AB008140029",
shapeid : "2_1206",
descr : "150.0000 pFarad 5.00 % 100.0 Volt NP0 CERAMIC CAPACITOR",
insclass : "CP6A,CP6B",
gentype : "RECT_032_016_006",
machine : "SMT",
%package : "080450E",
%_item_number: "3",
%_Term_Seq : "" }
part "C30"
{ type : "1AB0081400 30",
shapeid : "2_1206 30",
insclass : "CP6A,CP6B 30",
gentype : "RECT_032_016_006 30",
machine : "SMT 30",
%package : "080450E 30 ",
%_item_number: "3 30 ",
%_Term_Seq : "30" }';
preg_match_all('/^part\s"(?P<ref>[^"]*)"[^{]*{
(?:(?=[^}]*\sdescr\s*:\s+"(?P<descr>[^"]*)"))?
(?=[^}]*\stype\s*:\s+"(?P<partnumber>[^"]*)")/imsx',$sourcestring,$matches);
echo "<pre>".print_r($matches,true);
?>
- Output for 4.3.3 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.37, 5.6.0 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.17 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- <pre>Array
(
[0] => Array
(
[0] => part "C28"
{
[1] => part "C29"
{
[2] => part "C30"
{
)
[ref] => Array
(
[0] => C28
[1] => C29
[2] => C30
)
[1] => Array
(
[0] => C28
[1] => C29
[2] => C30
)
[descr] => Array
(
[0] => 4700.0000 pFarad 10.00 % 100.0 - VE5-VS3
[1] => 150.0000 pFarad 5.00 % 100.0 Volt NP0 CERAMIC CAPACITOR
[2] =>
)
[2] => Array
(
[0] => 4700.0000 pFarad 10.00 % 100.0 - VE5-VS3
[1] => 150.0000 pFarad 5.00 % 100.0 Volt NP0 CERAMIC CAPACITOR
[2] =>
)
[partnumber] => Array
(
[0] => 1AB010050093
[1] => 1AB008140029
[2] => 1AB0081400 30
)
[3] => Array
(
[0] => 1AB010050093
[1] => 1AB008140029
[2] => 1AB0081400 30
)
)
- Output for 4.3.0 - 4.3.2
- <pre>Array
(
[0] => Array
(
[0] => part "C28"
{
[1] => part "C29"
{
[2] => part "C30"
{
)
[1] => Array
(
[0] => C28
[1] => C29
[2] => C30
)
[2] => Array
(
[0] => 4700.0000 pFarad 10.00 % 100.0 - VE5-VS3
[1] => 150.0000 pFarad 5.00 % 100.0 Volt NP0 CERAMIC CAPACITOR
[2] =>
)
[3] => Array
(
[0] => 1AB010050093
[1] => 1AB008140029
[2] => 1AB0081400 30
)
)
preferences:
264.22 ms | 402 KiB | 377 Q