使用PHP拆分字符串并将其存储为其他变量

时间:2018-12-03 11:19:08

标签: php mysql

我从MYSQL DB获得以下格式的字符串输出。包括引号。

 "Created" to "Quote Sent"

如何使用PHP将这个字符串另存为2个变量。

For Example: $var1 = 'Created'
             $var2 = 'Quote Sent'

我尝试了爆炸,但没有得到想要的输出。

 $string = '"Created" to "Quote Sent"';
 $stringParts = explode("to", $string);
 $var1  = $stringParts[0]; 
 $var2 = $stringParts[1]; 

请谁能帮我这个忙?

2 个答案:

答案 0 :(得分:0)

您可以这样做:

<?php
$str = '"Created" to "Quote Sent"';
$var1 = str_replace('"', "", explode(" to ", $str)[0]);
$var2 = str_replace('"', "", explode(" to ", $str)[1]);
?>

您还告诉我们您尝试过此操作,您得到的DID是什么?

答案 1 :(得分:0)

您应该只拨打一次explode()。修剪字符串中双引号的更合适的调用是:trim(),其字符掩码为"

代码:(Demo

$str = '"Created" to "Quote Sent"';
$parts = explode(' to ', $str, 2);
$var1 = trim($parts[0], '"');
$var2 = trim($parts[1], '"');

echo $var1;
echo "\n---\n";
echo $var2;

输出:

Created
---
Quote Sent

如果您对单线疯了,可以使用正则表达式。

[$var1, $var2] = preg_match('~"([^"]+)" to "([^"]+)"~', $str, $out) ? array_slice($out, 1) : ['', ''];

[$var1, $var2] = preg_split('~"( to ")?~', $str, 3, PREG_SPLIT_NO_EMPTY);  // need to allow 3rd empty element to be found & disregarded