Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用php提取数据_Php_Mysql - Fatal编程技术网

用php提取数据

用php提取数据,php,mysql,Php,Mysql,我这里有一条短信 TK 8600xxxx8888 | GD:-250000VND 28/01/21 18:41 | SD:50035VND | ND:Ck-马乔迪奇/跟踪521298-5221000086554 我怎样才能把所有的数据放进数据库? 例: TK=8600xxxx888;GD=-250000;SD=50035;ND=Ck;跟踪=521298,Cus=5221000086554 这段代码可能会帮助您实现这一目标: <?php $txt = "TK: 8600xxxx88

我这里有一条短信

TK 8600xxxx8888 | GD:-250000VND 28/01/21 18:41 | SD:50035VND | ND:Ck-马乔迪奇/跟踪521298-5221000086554

我怎样才能把所有的数据放进数据库? 例:

TK=8600xxxx888;GD=-250000;SD=50035;ND=Ck;跟踪=521298,Cus=5221000086554


这段代码可能会帮助您实现这一目标:

<?php
$txt = "TK: 8600xxxx8888|GD: -250,000VND 28/01/21 18:41|SD:50,035VND|ND: Ck - Ma giao dich/ Trace 521298 -52210000086554";
$arr = [];
foreach(explode("|", $txt) as $t){
    $var = explode(":", $t);
    $arr[$var[0]] = $var[1];
}

foreach($arr as $a){
    echo $a . "<br>";
}
?>



请更好地解释您的问题以及您试图解决的问题。您能告诉我们提取我们在预期输出中看到的内容的规则是什么吗?规则是文本始终保持不变,数字也会更改。这是错误的。它将在第7行8600xxxx8888-250000VND上的C:\xampp\htdocs\Other_Projects\Testing\index.php中返回:注意:未定义的偏移量:1Ck@JohnDoe在问题评论中,他/她说“规则是文本总是保持不变,数字也会改变”,如果文本有相同的模式,上面的代码实际上是有效的。它甚至对当前字符串也不起作用。@JohnDoe你的模式是这样的吗?“TK:8600xxxx8888 | GD:-250000VND 28/01/21 18:41 | SD:50035VND | ND:Ck-Ma giao dich/Trace 521298-5221000086554”它运行,但不返回完整数据我想:(
<?php
$string = "TK 8600xxxx8888|GD: -250,000VND 28/01/21 18:41|SD:50,035VND|ND: Ck - Ma giao dich/ Trace 521298 -52210000086554";

$string_array = explode("|", $string);

$TX = substr(strrchr($string_array[0], " "), 1);

$GD = substr($string_array[1], 0, strrpos( $string_array[1], ' ') );
$GD = substr($GD, 0, strrpos( $GD, ' ') );
$GD = str_replace('VND', '', $GD);
$GD = str_replace(',', '', $GD);
$GD = str_replace('GD: ', '', $GD);

$SD = str_replace('VND', '', $string_array[2]);
$SD = str_replace(',', '', $SD);
$SD = str_replace('SD:', '', $SD);

$ND = $string_array[3];
$ND = str_replace('ND:', '', $ND);
$ND = substr($ND, 0, strrpos( $ND, ' - ') );
$ND = str_replace(' ', '', $ND);

$Trace = $string_array[3];
$Trace = substr(strrchr($Trace, "/"), 1);
$Trace = $Cus = str_replace(' Trace ', '', $Trace);
$Trace = substr($Trace, 0, strrpos( $Trace, ' -') );

$Cus = substr(strrchr($Cus, " "), 1);

echo $TX . "<br />" . $GD . "<br />" . $SD . "<br />" . $ND . "<br />" . $Trace . "<br />" . $Cus;
?>