Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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_String - Fatal编程技术网

PHP字符串-使用短代码添加到系统,但如何做到这一点?

PHP字符串-使用短代码添加到系统,但如何做到这一点?,php,string,Php,String,我想获取一个短字符串,并在PHP中对其进行操作,以便将它的各个部分插入到数据库的各个部分中 这是我想在我的系统中添加联系人信息的一种方式 我使用一系列短代码来表示我希望字符串做什么。因此: NC=新触点 DESC=触点的描述 MB=一个手机号码 HM=家庭电话号码 BS=商业号码 EM=电子邮件地址 例如: $string=“NC美国总统约翰·多伊MB 555123123 HM 12341234 EMjohn@example.net“ 等等。我不明白为什么长度需要限制 你会用PHP做些什么来

我想获取一个短字符串,并在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会发生什么?你的应用程序将要崩溃。我想这可能是解决问题的方法。正则表达式会是什么样子?我想这可能是一种方法。正则表达式是什么样子的?