我的小PHP脚本出了问题。
我的代码应该像论坛软件一样用作跟随/取消跟踪系统(例如XenForo)。
所以我的脚本所做的是它在字符串中搜索用户,如果找到该名称,则会删除字符串中用户的名称。但我的问题是脚本由于某种原因无法搜索名称和逗号,因为我尝试从字符串中删除逗号。
感谢任何帮助,提前感谢:)
示例:
彼得跟随弗兰兹和乔治,但他想要取消关注乔治
脚本:
<?php
$user1 = "Peter";
$following1 = "Franz, George";
$user2 = "Franz";
$following2 = "Peter, George";
$user3 = "George";
$following3 = "Peter, Franz";
//
//
//
if (strpos($following1, $user3) == true) {
echo "Can remove follow.";
if (strpos($following1, ", $user3")) {
$user3 = ", $user3";
$fNew = str_replace($user3, "", $following1);
echo "$fNew<br>";
} else if (strpos($following1, "$user3, ")) {
$use3 = "$user3, ";
$fNew = str_replace("$user3", "", $following1);
echo "$fNew<br>";
}
} else if ($following1 == $user3) {
echo "Can remove follow.";
$fNew = str_replace($user3, "", $following1);
echo "$fNew<br>";
} else {
echo "Can't remove follow";
}
?>
答案 0 :(得分:2)
看看这个:
<?php
$follow = "Peter, Franz, Spongebob";
$guyToUnfollow = 'Franz';
$people = explode(',', $follow);
var_dump($people);
foreach ($people as $key => $person) {
$person = trim($person);
if ($person == $guyToUnfollow) {
unset($people[$key]);
}
}
$follow = implode(',',$people);
var_dump($follow);
首先,我们将CSV转换为数组,然后循环遍历它。我们使用trim删除空格,并取消设置与要取消关注的人匹配的数组中的任何值。最后,我们使用implode重新创建csv。
答案 1 :(得分:0)
strpos返回字符串的位置,因此您需要检查它是否为false而不是检查它是否为true。 所以你应该使用:
<text>#99.0</text>