gpt4 book ai didi

php - PHP 中如何分割字符串?

转载 作者:行者123 更新时间:2023-12-04 15:06:53 25 4
gpt4 key购买 nike

我的文本文件中有以下字符串:

^b^B

我试图将其分成两个变量。我当前的代码正在使用 explode() 但它不能按我想要的方式工作:

$num1 = '^b';
$num2 = '^B';

如何使用 PHP 来完成此任务?

这是我的代码

<?php 
if(isset($_POST['refresh'])) {
exec('/var/www/www.rfteste.com/htdocs/estado.sh');
}
if(isset($_POST['on'])) {
exec('/var/www/www.rfteste.com/htdocs/on.sh');
}
if(isset($_POST['off'])) {
exec('/var/www/www.rfteste.com/htdocs/off.sh');
}
echo "<H3>CONTROL PANEL</H3>";
$str = file_get_contents("/var/www/www.rfteste.com/htdocs/refresh.txt");
$vals = explode("^", $str);
$num1 = "^".$vals[0];
$num2 = "^".$vals[1];
$onoff= "^A";
if($num2 == $onoff)
echo "<b>on</b>";
else
echo "<b>off</b>";
?>
<html>
<body>
<form method="post" action="">
<p>
<center><input type="submit" value="on" name="on""';" /></center>
<center><input type="submit" value="off" name="off""';" /></center>
<center><input type="submit" value="refresh" name="refresh""';" /></center>

最佳答案

使用 preg_split() 带有环视断言:

list($num1, $num2) = preg_split('/(?<=\^b)/', $str);

尸检:

  • / - 起始分隔符
  • (?<= - 正向回顾的开始(意思是“如果前面是”)
    • \^b - 匹配文字字符^b
  • ) - 正向回顾的结束
  • / - 结束分隔符

可视化:

enter image description here

用简单的英语来说,它的意思是:在其前面有 ^b 的地方进行分割。并将数组值分配给变量 $num1$num2使用 list 构造。

Demo

关于php - PHP 中如何分割字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22257093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com