私はthis SO question php: split string into 3 parts...と尋ねていました。しかし、私は問題に直面した。問題は処理するために二重引用符で囲まれた文字列です。そのため、$
の符号が文字列内にある1つのケースでは、期待通りに動作しません。php:文字列は二重引用符で、一重引用符ではありません。直し方?
$str = $_POST['source'];//comes double-quoted, example: "$abc$";
その方法は、上記の質問からの回答からのコードは次のとおりです。
<?php
$str = "$abc$$$";//comes from _POST['source'];
preg_match('/^([^\w]*)(\w+.*\w+)?([^\w]*)$/iu', $str, $matches);
$parts = array_slice($matches, 1);
print_r($parts);
?>
は仕事と私は問題が"$abc$$$"
で見つけたものからE_NOTICE : type 8 -- Undefined variable:
が発生していないが、二重引用符で囲まれ、一重引用符ではない。それは$変数として処理する原因:SO: Dollar ($) sign in password string treated as variable
私は
$str = $_POST['source'];
$str = (string)$str;// I hoped to convert "$abc$$$" to '$abc$$$' (to make single-quoted)
を試みたが、それは解決しません。 この問題に対処する方法はありますか?
downvoteの理由はありますか?ダウンホッター、理由を説明してもらえますか?ありがとう。 – Haradzieniec
'$ str = _POST ['source'];'私はここで把握していません。なぜあなたはスーパーグローバルから '$'を意図的に削除していますか? –
これはタイプミスです。更新しました。ありがとう。 – Haradzieniec