亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

拆分一個相當復雜的字符串,需要幫助

拆分一個相當復雜的字符串,需要幫助

PHP
九州編程 2021-04-30 14:12:46
我有一個像這樣的字符串:../../FolderName$Username$Password我需要將這三樣東西(文件夾,用戶名和密碼的路徑)分成各自的變量,這給我帶來了麻煩。$path = substr($_REQUEST["filename"],0, strpos($_REQUEST["filename"],'$',0)); //Gets the filepath SUCCESSFULLY$username = substr($_REQUEST["filename"],strpos($_REQUEST["filename"],'$',0),strpos($realtmp,'$',strpos($_REQUEST["filename"],'$',0))); //Error, can't get the username properly, it is empty so I probably have a syntax error, but in general I don't know how to structure it.
查看完整描述

1 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

正則表達式是解決此問題的最佳方法...正則表達式捕獲組[1]包括直到但不包括“ $”的第一個實例的所有內容。捕獲組[2]的工作原理相同,捕獲直到但不包括“ $”的第二個實例的所有內容。捕獲組[3]包括字符串末尾的所有內容。


<?php

  $Filename= 'filename$username$password';

  preg_match('/([^$]*)[$]([^$]*)[$]([^$]*)/', $Filename, $re);

  $File = $re[1];

  $Username = $re[2];

  $Password = $re[3];

  echo "File:{$File}\n";

  echo "Username:{$Username}\n";

  echo "Password:{$Password}\n";

?>

編輯:但是,如其他答案所述,從不建議將密碼存儲為純文本


編輯2:([[^ $] *)表示您正在“捕獲一組”為“最多$”的字符。


查看完整回答
反對 回復 2021-05-14
  • 1 回答
  • 0 關注
  • 152 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號