Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.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中读取5美元符号($)后的字符字符串_Php_Regex_String_Char - Fatal编程技术网

如何在php中读取5美元符号($)后的字符字符串

如何在php中读取5美元符号($)后的字符字符串,php,regex,string,char,Php,Regex,String,Char,我想要一个php代码,可以读取5美元符号($)后的字符字符串, 例子 输入: 输出应如下所示: PROMO_CODE$MOBILE1$MOBILE2$OFFICE$HOUSE$ 这些代码可以工作,但没有正则表达式 <?php $haystack = "ACCT_ID\$ID_NUMBER\$ID_TYPE\$SMSC\$FIRST_NAME\$PROMO_CODE\$MOBILE1\$MOBILE2\$OFFICE\$HOUSE\$"; $needle = "$"; $

我想要一个php代码,可以读取5美元符号($)后的字符字符串, 例子 输入:

输出应如下所示:

PROMO_CODE$MOBILE1$MOBILE2$OFFICE$HOUSE$

这些代码可以工作,但没有正则表达式

<?php
   $haystack = "ACCT_ID\$ID_NUMBER\$ID_TYPE\$SMSC\$FIRST_NAME\$PROMO_CODE\$MOBILE1\$MOBILE2\$OFFICE\$HOUSE\$";
   $needle = "$";
   $pos = -1;
   for ($i =0 ;$i < 5 ; $i++) {
     $pos = strpos($haystack, $needle, $pos+1);
   }
   $result = substr($haystack, $pos+1);
   $previous = substr($haystack, 0, $pos+1);
   $final = $previous."something to add".$result; //add something here.

   echo $result,PHP_EOL;
   echo $previous,PHP_EOL;
   echo $final,PHP_EOL;

您能将字符串按$拆分吗?你的要求是什么?是的,兄弟可以拆分,但我需要在第5个$符号后插入一些字符串…兄弟,你能告诉我如何在第5个$符号后添加任何字符串吗?并再次组合该字符串。请参阅我的编辑。您应该了解一些php字符串的知识。手册:
<?php
   $haystack = "ACCT_ID\$ID_NUMBER\$ID_TYPE\$SMSC\$FIRST_NAME\$PROMO_CODE\$MOBILE1\$MOBILE2\$OFFICE\$HOUSE\$";
   $needle = "$";
   $pos = -1;
   for ($i =0 ;$i < 5 ; $i++) {
     $pos = strpos($haystack, $needle, $pos+1);
   }
   $result = substr($haystack, $pos+1);
   $previous = substr($haystack, 0, $pos+1);
   $final = $previous."something to add".$result; //add something here.

   echo $result,PHP_EOL;
   echo $previous,PHP_EOL;
   echo $final,PHP_EOL;