我的方法解析字符串並用字符串中包含的信息做東西。 一個簡單的例子是php自定義用preg解析字符串
$string=
"
user:name,password={$_POST['name']}, {$_POST['password']}(md5);
names:name=name;
";
$class->$method($string);
上面會做兩個INSERT語句。第一個將在名爲user的表中插入用戶名和在md5中加密的密碼。
第二個會在名稱表中插入一個名稱。我正在設置它,以便字符可以逃脫。即如果用戶名是p; ez。該字符串會有p \; ez。
我當前方法如下
#get position of ;
$offsetSemi=stripos($s, ";");
#check if its escaped
if ($s[$offsetSemi-1]!='\\')
{
//not escaped
}
與上述方法中的問題是,它將僅檢查的第一個實例; 我試過的另一個解決方案是爆炸字符串。然而,這是行不通的,因爲它在包括逃跑者在內的所有事件中都爆炸了。我嘗試另一件事是一個具有低於
/[^\\\];/
正則表達式爆炸與此prolem是它之前分解的性格特徵;在所有沒有逃脫的實例上。有沒有一種方法可以在所有實例上爆炸字符串;沒有前面加反斜槓?
您的輸入**是否具有這種複雜的格式?如果不是的話,你應該考慮使用內置在解析器中的格式,比如XML上的JSON。 – PPrice
不,它不。我不熟悉json或xml。我聽說過他們,但從未學過或使用過它們。你能提出一個解析XML或JSON的例子嗎? – Yamiko