在php中提取字段的值并保存

时间:2017-04-24 07:38:09

标签: php yii

您好我有textArea sms和另一个文字字段sms_count ..

sms_count的值与此类似Used: 0/765 (1/5) | Left: 765每当用户在textArea sms中输入任何内容时,它会对字符进行计数并在sms_count

中显示

如果用户到目前为止输入了30个字符,那么sms_count的值将如下Used: 30/765 (1/5) | Left: 765

点击提交按钮时,我得到sms_count的值,就像这样..

sms_count => Used: 30/765 (1/5) | Left: 735

如何获取他输入的字符为30,我需要仅在1中保存值(1/5)而不是Used: 30/765 (1/5) | Left: 748

在这种情况下,我只需要获取1的使用值,但它可以是不同的...如果用户输入超过160个字符,则sms_count值将为2(2/5 )然后,如果用户输入的字符超过320个,那么(3/5)

中的值为3

示例 30/765(1/5)|左:735 161/765(2/5)|左:604 330/765(3/5)|左:435

那么如何通过PHP在数据库中保存这些值?

以下是两个字段的屏幕截图,一个是textArea sms和textfield sms_count

enter image description here

<div class="form-group">
<?PHP echo $form->textArea($model, 'sms', array('class' => 'form-control', 'id'=>'Campaigns_welcome_sms', 'onpaste' => "return textCounter(this.form.Campaigns_welcome_sms,this.form.smsAndCharactersCount,this.form.smsAndCharactersCount);", 'onkeyup'=>"textCounter(this.form.Campaigns_welcome_sms,this.form.smsAndCharactersCount,this.form.smsAndCharactersCount);", 'onkeypress'=>"textCounter(this.form.Campaigns_welcome_sms,this.form.smsAndCharactersCount,this.form.smsAndCharactersCount);")); ?>                        
<?php echo $form->textField($model, 'sms_count', array('class' => 'form-control', 'style'=>"width: 370px", 'id'=>"smsAndCharactersCount", 'value'=>"Used: 0/765 (1/5) | Left: 765", 'readonly'=>"readonly")); ?>
</div>

1 个答案:

答案 0 :(得分:0)

通过一些字符串操作,您可以像这样提取所需的数字:

mediainfo --Inform="Video;%Codec%" output.avi

您可以使用ffmpeg检查结果是否符合您的要求。在这种情况下,我会输出:ffprobe -v error -select_streams v:0 -show_entries stream=codec_name \ -of default=noprint_wrappers=1:nokey=1 output.avi

如何选择将其保存到数据库取决于您的设置。它只是一个普通的插入或更新查询。常规的SQL插入查询类似于:

$sms_count = 'Used: 30/765 (1/5) | Left: 735'; // YOUR VARIABLE FROM SUBMITTED DATA 

$sms = explode('/',$sms_count); // SPLIT STRING TO ARRAY BY SLASHES:    

//CREATE VARIABLE $user THAT CONTAINS THE NUMBER OF CHARACTERS USED:
$used = substr($sms[0], stripos($sms[0],' ')+1); //FINDS THE SPACE ' ' AND RETURNS THE REST OF THE STRING STARTING FROM THERE...

//CREATE VARIABLE $count THAT CONTAINS THE NEXT NUMBER YOU WANT:
$count = substr($sms[1], -1, 1); // EXTRACTS THE LAST CHARACTHER/NUMBER