小さなPHPスクリプトで問題が発生しました。PHP strpos()とstr_replace()
私のコードは、フォーラムソフトウェア(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";
}
?>
を働いていますか? – ThisGuyHasTwoThumbs
問題は、このデータを最初にコンマ区切りの文字列として保存していることです。代わりに配列を使用する必要があります。データベースを使用してデータストレージを処理したい点になると、これは正しく_通常化されます。 – CBroe
strposが見つかった文字列の位置を返すので、!== false、not == trueを使用してください。 –