PHP字符串-使用短代码添加到系统,但如何做到这一点?
我想获取一个短字符串,并在PHP中对其进行操作,以便将它的各个部分插入到数据库的各个部分中 这是我想在我的系统中添加联系人信息的一种方式 我使用一系列短代码来表示我希望字符串做什么。因此:PHP字符串-使用短代码添加到系统,但如何做到这一点?,php,string,Php,String,我想获取一个短字符串,并在PHP中对其进行操作,以便将它的各个部分插入到数据库的各个部分中 这是我想在我的系统中添加联系人信息的一种方式 我使用一系列短代码来表示我希望字符串做什么。因此: NC=新触点 DESC=触点的描述 MB=一个手机号码 HM=家庭电话号码 BS=商业号码 EM=电子邮件地址 例如: $string=“NC美国总统约翰·多伊MB 555123123 HM 12341234 EMjohn@example.net“ 等等。我不明白为什么长度需要限制 你会用PHP做些什么来
- NC=新触点
- DESC=触点的描述
- MB=一个手机号码
- HM=家庭电话号码
- BS=商业号码
- EM=电子邮件地址
$string=“NC美国总统约翰·多伊MB 555123123 HM 12341234 EMjohn@example.net“
等等。我不明白为什么长度需要限制
你会用PHP做些什么来简化这个过程?我想在电话表中添加电话号码,在电子邮件表中添加电子邮件,在联系人表中添加联系人
我还有简短的更新代码(为现有联系人添加更多号码)
- UPD-更新联系人X
- AMB-添加单元
- (Axx—“A”表示添加)
- 我不想为删除/更改而烦恼
$string=“UPD John Doe AMB 55512341233 AEMjohn2@example.net“
我知道这是一个有点奇怪的方式,让事情进入一个系统,但它的快速键入时,我在运行 您可能希望查看正则表达式模式匹配,但在提取命令后,还需要为与数据库交互的任何内容提供非常可靠的安全性
因此,如果插入/更新/删除电话号码,请确保命令的“正文”仅为数字(或仅为数字、空格和+符号,如果您接受它们),依此类推。您可能需要查看正则表达式模式匹配,但是,一旦您提取了命令,您还需要为与数据库交互的任何东西提供几乎防弹的安全性
因此,如果插入/更新/删除电话号码,请确保命令的“正文”仅为数字(或仅为数字、空格和+符号,如果您接受它们),依此类推。我同意Michael J.V.关于使用数组的观点。添加/更改操作将很容易 例如:
function getAction($action) {
$actions = array(
'NC' => 'New contact',
'DESC' => 'A description of the contact',
'MB' => 'A cell phone number',
'HM' => 'A home phone number',
'BS' => 'A business number',
'EM' => 'An email address',
);
return $actions[$action];
}
$selected = 'DESC';
echo 'Action Selected: '.getAction($selected)."\n";
我同意Michael J.V.关于使用数组的观点。添加/更改操作将很容易 例如:
function getAction($action) {
$actions = array(
'NC' => 'New contact',
'DESC' => 'A description of the contact',
'MB' => 'A cell phone number',
'HM' => 'A home phone number',
'BS' => 'A business number',
'EM' => 'An email address',
);
return $actions[$action];
}
$selected = 'DESC';
echo 'Action Selected: '.getAction($selected)."\n";
按照OP建议的方法,我将使用一个数组(如另一个答案中所指出的)来实现这一点,但在进入数据库之前将其序列化,并在出来时取消序列化 另一个选项是创建一个自定义类,该类处理与数组相同的内容,但也可以验证和清理数据库中的任何内容
话虽如此。您不习惯使用DB列来存储这些数据并使用相关的状态表来存储自定义代码,这有什么特别的原因吗?它将使您的软件更易于升级和维护(更不用说调试!)。按照OP建议的方法,我将使用阵列(如另一个答案中所指出的)完成此操作,但在进入数据库之前将其序列化,并在出来时取消序列化 另一个选项是创建一个自定义类,该类处理与数组相同的内容,但也可以验证和清理数据库中的任何内容
话虽如此。您不习惯使用DB列来存储这些数据并使用相关的状态表来存储自定义代码,这有什么特别的原因吗?它将使您的软件更易于升级和维护(更不用说调试了!)。为什么不使用数组而不是字符串?你可以通过索引来访问某些部分,比如做什么,而不是分解/正则表达式字符串。很抱歉,我在等待手机或Wordpress的问题:或者对于“短代码”这个词的使用,我使用字符串,因为我正在从推特上提取数据,或者类似的东西。如果人们在电话里给我信息,这真的只是一种快速输入信息的方式。我应该在上面的例子中更好地介绍它。举个推特的例子,有人会给我一个名字和号码,我会(私下)推特:NC Jane Doe MB 555123123然后系统会在后台接收推特,Jane的详细信息会在我下次登录时出现。你能不能不只是有一个网页,只有一个文本输入和提交按钮,让你输入这些命令,而不是加入推特的恐吓步骤?Twitter上发生了什么?如果Twitter改变了他们的API会发生什么?你的应用程序将要崩溃。为什么不使用数组而不是字符串?你可以通过索引来访问某些部分,比如做什么,而不是分解/正则表达式字符串。很抱歉,我在等待手机或Wordpress的问题:或者对于“短代码”这个词的使用,我使用字符串,因为我正在从推特上提取数据,或者类似的东西。如果人们在电话里给我信息,这真的只是一种快速输入信息的方式。我应该在上面的例子中更好地介绍它。举个推特的例子,有人会给我一个名字和号码,我会(私下)推特:NC Jane Doe MB 555123123然后系统会在后台接收推特,Jane的详细信息会在我下次登录时出现。你能不能不只是有一个网页,只有一个文本输入和提交按钮,让你输入这些命令,而不是加入推特的恐吓步骤?Twitter上发生了什么?如果Twitter改变了他们的API会发生什么?你的应用程序将要崩溃。我想这可能是解决问题的方法。正则表达式会是什么样子?我想这可能是一种方法。正则表达式是什么样子的?