有兩個數組,分別為
<code>$template1 = array( "您好,你的网址是@,请访问", "您预约的时间在@,请按时到@报道", "您的面试一结束,请给@评价吧,网址在@" ) $template2 = array( "你的验证码是@", "所有的特殊字符有@" ) </code>
其中的@為任意可能的字串,現在假如我得到一個字串
<code>$message = "您好,你的网址是http://www.baidu.com/jsdkj,请访问";</code>
要判斷這個$message
是屬於哪個陣列裡的,該怎麼判斷?
有兩個數組,分別為
<code>$template1 = array( "您好,你的网址是@,请访问", "您预约的时间在@,请按时到@报道", "您的面试一结束,请给@评价吧,网址在@" ) $template2 = array( "你的验证码是@", "所有的特殊字符有@" ) </code>
其中的@為任意可能的字串,現在假如我得到一個字串
<code>$message = "您好,你的网址是http://www.baidu.com/jsdkj,请访问";</code>
要判斷這個$message
是屬於哪個陣列裡的,該怎麼判斷?
把template裡的字串變成正規則,然後逐一符合 message。
例如:
<code>$template1 = array( "您好,你的网址是.*,请访问", "您预约的时间在.*,请按时到.*报道", "您的面试一结束,请给.*评价吧,网址在.*" ) </code>
值得注意的是:如果 template 陣列比較大,可能會影響效能。另外,模板渲染通常應該是單向的,所以我對這個需求的合理性表示懷疑。
一個in_array
不就可以搞定了嗎?難道是我誤解了樓主的意思?
以關鍵字的形式來strpos判斷就行了吧
這種邏輯太少見了,通常是根據 變數 + 模板 得到message,並不會需要你根據message反推啊,是不是哪裡理解錯了?