我知道如果数据已经存在于我的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个变量
答案 0 :(得分:0)
尝试以下内容:
list($host,$hostplayername) = explode(" (", rtrim($host,")"));
答案 1 :(得分:0)
您可以在explode
上使用preg_split
或space
,即:
$string = "RockN_Roll_lady (MisFit_kay1)";
$result = explode(" ", preg_replace('/\(|\)/', '', $string));
$string = "RockN_Roll_lady (MisFit_kay1)";
$result = preg_split('/ /', preg_replace('/\(|\)/', '', $string));
答案 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
数组。