2011-06-13 20 views
1

拉字有沒有辦法在使用PHP的句子中查找單詞?我們有一個表單,在主題中,如果他們使用交付,交付或交付的話,我們希望重定向某人。這可以做到嗎?它會是怎樣的?謝謝你對這個問題的任何幫助。許多從句子

回答

4

這應做到:

if (preg_match('/deliver(?:y|ed)?/i', $subject)) 
{ 
    // Redirect 
} 
0

一種方法:

if (preg_match('/deliver(y|ed)?/', $string)) { 
    // yes, $string contained 'deliver', 'delivery' or 'delivered' 
} 
+0

這對於「交付」不起作用。你需要在(y | ed)之後添加一個問號(?)。我還會添加「我」修飾符,以防萬一主題不全是小寫。 – 2011-06-13 07:53:31

+0

哎呀,趕上,謝謝。 – deceze 2011-06-13 07:54:28

1

可以使用strpos功能來搜索某個字符串在另一字符串。如果找不到字符串false將返回,並且您知道您的字符串未找到。

+3

請注意,當使用'strpos'時,你應該使用if(strpos(...)!== false)這樣的條件,否則這個語句總是返回true。 (如果句子以單詞開頭,則位置爲0,其值爲假) – cypher 2011-06-13 07:54:44

1

這裏:

<?php 
if (strpos($string, "deliver")) { 
    header("Location: somepage.php"); 

} 
?> 
1

另一種方法:

if (stristr($sentence,"deliver")) { 
header('location: somepage.php'); 
} 

但我會用的preg_match像以前那樣表達。

0
  1. 提取所有詞語,簡單使用空格字符
  2. 檢查一個特定的詞既可以使用簡單strpos()爆炸的字符串功能或正則表達式模式匹配

    preg_match("/(?:^|\s+)deliver(y|ed)?(?:$|\s+)/i")

    上述表達式檢查空白字符或字符串的開頭,相似的空白字符或字符串的結尾