2012-10-05 20 views
0
我有一個困難時期 preg_match

,這是一個較早的問題,我問:無法獲得的preg_match正常工作PHP(這涉及到另一個崗位)

Using a string as an expression to be send to eval() and replacing a sub-string with a vriable value PHP

現在我想給STR像的preg_match如下:

$str = "return (!(preg_match('/[^A-Za-z$]+/', ##replace##)));" 

如果我是正確的,這將返回TRUE,如果我給##取代##值 「ValueWithNumber4」,

那麼問題在哪裏,我該如何改變它?

+0

你爲什麼使用eval爲上帝着想嗎? – Vyktor

回答

0

preg_match不取代任何東西,它匹配。它返回true如果##replace##中的值與給出的表達式匹配(因爲「ValueWithNumber4。」中存在非Alpha/$,並且它的確如此,我測試了它),但我認爲您的表達式不正確。你可能想要

/^[A-Za-z]+$/ 
/* or */ /^[a-z]+$/i 
+1

$ str將被引發到str_replace以替換##替換##「ValueWithNumber4」,然後用於評估... – Salketer