Heim > Backend-Entwicklung > PHP-Tutorial > php preg_mahch字符截取解决思路

php preg_mahch字符截取解决思路

PHP中文网
Freigeben: 2023-02-28 14:36:01
Original
1400 Leute haben es durchsucht

  php preg_mahch字符截取

PHP代码

$tt = "Event: Dial  Privilege: call,all  SubEvent: Begin  
Channel: Local/0267@from-queue-2962;2  Destination: SIP/601-00001bca  
CallerIDNum: 07016317212  CallerIDName: rc07016317212  
ConnectedLineNum: 0267  ConnectedLineName: 0267  UniqueID: 1339380988.50590  
DestUniqueID: 1339380988.50591  Dialstring: 601";
preg_match("/(CallerIDNum:\s+\d+)\s+.+(UniqueID:\s\d+\.\d+)/",$tt,$out, PREG_OFFSET_CAPTURE,3);
Nach dem Login kopieren

希望的结果是 

['CallerIDNum'] =〉"07016317212" ;
['CallerIDName'] =>"rc07016317212" ;
['ConnectedLineNum']=>"0267";
['ConnectedLineName']=>"0267";
['UniqueID']=>"1339380988.50590";
[DestUniqueID]=>"1339380988.50591";
。。。。。。。。。
Nach dem Login kopieren

类型这样,从那个字符串拆分一个名称对应一个值

解决方法:

方法一

PHP代码

$tt = "Event: Dial  Privilege: call,all  
SubEvent: Begin  Channel: Local/0267@from-queue-2962;2  
Destination: SIP/601-00001bca  CallerIDNum: 07016317212  
CallerIDName: rc07016317212  ConnectedLineNum: 0267  
ConnectedLineName: 0267  UniqueID: 1339380988.50590  
DestUniqueID: 1339380988.50591  Dialstring: 601";
preg_replace('/(w+):s+([^s]+)/e','$ar[$1]="$2"',$tt);//quit();
print_r($ar);
Nach dem Login kopieren

方法二

PHP代码

[User:root Time:13:15:35 Path:/home/liangdong/php]$ cat preg.php 
<?php
$str = "Event: Dial  Privilege: call,all  SubEvent: Begin  
Channel: Local/0267@from-queue-2962;2  Destination: SIP/601-00001bca  
CallerIDNum: 07016317212  CallerIDName: rc07016317212  
ConnectedLineNum: 0267  ConnectedLineName: 0267  UniqueID: 1339380988.50590  
DestUniqueID: 1339380988.50591  Dialstring: 601";
$nmatches = preg_match_all(&#39;/(CallerIDNum|CallerIDName|ConnectedLineNum|ConnectedLineName|
UniqueID|DestUniqueID|Dialstring): (S+)/&#39;, $str, $matches);
print_r($matches);
?>
[User:root Time:13:15:36 Path:/home/liangdong/php]$ php preg.php 
Array
(
    [0] => Array
        (
            [0] => CallerIDNum: 07016317212
            [1] => CallerIDName: rc07016317212
            [2] => ConnectedLineNum: 0267
            [3] => ConnectedLineName: 0267
            [4] => UniqueID: 1339380988.50590
            [5] => DestUniqueID: 1339380988.50591
            [6] => Dialstring: 601
        )

    [1] => Array
        (
            [0] => CallerIDNum
            [1] => CallerIDName
            [2] => ConnectedLineNum
            [3] => ConnectedLineName
            [4] => UniqueID
            [5] => DestUniqueID
            [6] => Dialstring
        )

    [2] => Array
        (
            [0] => 07016317212
            [1] => rc07016317212
            [2] => 0267
            [3] => 0267
            [4] => 1339380988.50590
            [5] => 1339380988.50591
            [6] => 601
        )

)
Nach dem Login kopieren

方法三

把我的S+改成S*即可。

 以上就是 php preg_mahch字符截取解决思路 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage