用括号php mysql拆分变量

时间:2016-04-29 21:50:11

标签: php mysql

我知道如果数据已经存在于我的MySQL数据库中,该怎么做,但我想要做的是 我有一个名为$host的变量,它总是像RockN_Roll_lady (MisFit_kay1)我正在寻找正确方向的一个点是如何使我的变量分割,以便$host字段为{{{ 1}}和$ hostplayername将为RockN_Roll_lady

我知道使用MySQL它可以在使用

插入后完成
MisFit_kay1

但是我正在寻找一个解决方案来获取 Update tourne_report set Host= SUBSTRING_INDEX( Host , '(', 1 ) ,Hostplayername= SUBSTRING_INDEX(SUBSTRING_INDEX( Host , '(', 2 ),'(',-1) ; 变量,并在数据输入数据库之前将其变为2个变量

4 个答案:

答案 0 :(得分:0)

尝试以下内容:

list($host,$hostplayername) = explode(" (", rtrim($host,")"));

答案 1 :(得分:0)

您可以在explode上使用preg_splitspace,即:

explode

$string = "RockN_Roll_lady (MisFit_kay1)";
$result = explode(" ",  preg_replace('/\(|\)/', '', $string));

preg_split

$string = "RockN_Roll_lady (MisFit_kay1)";
$result = preg_split('/ /', preg_replace('/\(|\)/', '', $string));

Ideone Demo

答案 2 :(得分:0)

试试这个

<?php

$str            = "RockN_Roll_lady (MisFit_kay1)";
$arrChunks      = preg_split("#\(#", $str);
$host           = trim($arrChunks[0]);
$hostplayername = trim($arrChunks[1], ")");

var_dump($host);
var_dump($hostplayername);

答案 3 :(得分:0)

您可以使用正则表达式:

preg_match('/^(\w*)\s*\((\w*)\)$/', $host, $match);
$host = $match[1];
$hostplayername = $match[2];

\w*匹配一系列字母数字和下划线字符,而\s*匹配一系列空格,(...)将匹配它们的字符串部分放入捕获组中,放入$match数组。