【发布时间】:2012-10-08 11:02:57
【问题描述】:
我有以下字符串...
HEADER*RECIPIENT MAIN *FOOTER
我想知道如何使用 PHP 循环遍历这个字符串并在每次出现 HEADER*、*FOOTER、MAIN 和 RECIPIENT 时执行一个函数。
我在分解字符串后使用基本的 for-each 循环自己尝试过,但我发现它将所有元素组合在一起。
我需要它按照找到它们的顺序。我的方法只适用于一页。
我怎样才能做到这一点?
【问题讨论】:
-
您可以发布您尝试过的代码吗?这就是 StackOverflow 上的工作方式。
-
你要执行什么代码?你想让它做什么?它会修改字符串吗?您要搜索的文本是否始终相同?
-
作为第一个提示:查看 preg_replace_callback() 函数。如果您不想真正替换内容而只想执行其他代码,则可以使用虚拟函数。
-
$headers = explode("HEADER*", $theheaders); foreach ($headers as $header) { theheader($form); } $recipients = explode("RECIPIENT", $therecipients); foreach ($recipients as $recipient) { 收件人($form, $custtitle, $custfname, $custsname, $address1, $address2, $address3, $address4, $postcode, $custno); } $mains = explode("MAIN", $themains); foreach ($mains as $main) { main($form, $custtitle, $custsname, $accidentdate, $username); } $footers = explode("*FOOTER", $thefooters); foreach ($footers as $footer) { thefooter($form, $custno); }
-
对不起,乱七八糟!这里不知道如何正确回复
标签: php string function foreach explode