簡體   English   中英

使用正則表達式從PHP中解析字符串中的函數

[英]Using Regular Expressions to parse functions from a string in PHP

有沒有一種邏輯方法可以在PHP中使用正則表達式去掉函數名稱及其參數? 目前我將它逐行拆分,這樣我就可以在每一行上使用每個函數以便於標記。

所以:

doSomeFunction(arg, moreargs, stuff);
breakSomething();
ini_set(include_path, /home/htdocs/);

array([0] => 'doSomeFunction(arg, moreargs, stuff);', [1] => 'breakSomething();' and so on...

我遇到的真正問題是使用正則表達式獲取函數名稱具有如下語法:

$functionfromregex($args);

這些函數是使用PHP的“變量函數名”功能構建的,因此它是可行的。 參數被作為數組使用,因為沒有合理的方法來粘合它們以收集PHP需要解析它們的方式。 真正的缺點是我對正則表達式不太熟悉,任何幫助將不勝感激,如果您需要任何其他信息,請隨時詢問。

如果要解析PHP,可以使用token_get_all獲取給定代碼的標記

您還可以查看Reflection類。

所以我不確定在PHP中,我在java中做類似的事情,以下代碼以類似的方式剝離它:

[^(&& [^)&& [^,]]]應用於foo(param1,param2,param3)將返回[“foo”,“param1”,“param2”,“param3”]。

我遇到的問題是這會將所有'('和')'串起來,所以沒有辦法判斷你的param實際上是變量還是方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM