strpos在搜索字符串时如何使用针数组?例如:
$find_letters = array('a', 'c', 'd');
$string = 'abcdefg';
if(strpos($string, $find_letters) !== false)
{
    echo 'All the letters are found in the string!';
}
因为在使用它时,它不起作用,如果有这样的东西会很好
我试图检测字符串是否包含至少一个存储在数组中的URL.
这是我的数组:
$owned_urls = array('website1.com', 'website2.com', 'website3.com');
该字符串由用户输入并通过PHP提交.在确认页面上,我想检查输入的URL是否在数组中.
我尝试过以下方法:
$string = 'my domain name is website3.com';
if (in_array($string, $owned_urls))
{
    echo "Match found"; 
    return true;
}
else
{
    echo "Match not found";
    return false;
}
无论输入什么,返回总是"未找到匹配".
这是正确的做事方式吗?
我正在寻找像strpos()这样的函数,它有两个显着的区别:
当然,它必须是一种有效的解决方案,而不仅仅是每根针的循环.我搜索了这个论坛,并且有类似的问题,例如:
但是我们正在寻找它们.我使用strpos只是为了更好地说明我的问题,可能有一些完全不同的东西必须用于此目的.
我知道Zend_Search_Lucene,我感兴趣的是它是否可以用来实现这个以及如何(只是一般的想法)?
非常感谢您的帮助和时间!
这是一个聊天页面.我有一个$string = "This dude is a mothertrucker".我有一系列坏话:$bads = array('truck', 'shot', etc).我怎么能检查是否$string包含任何单词$bad?
到目前为止,我有:
        foreach ($bads as $bad) {
        if (strpos($string,$bad) !== false) {
            //say NO!
        }
        else {
            // YES!            }
        }
除非我这样做,当用户键入$bads列表中的单词时,输出为NO!是的!所以由于某种原因,代码运行了两次.
我试图从字符串中取出发誓的话,并认为我已经完成了,直到这个网站上有人向我展示了这个:http://codepad.org/LMuhFH4g
所以,有什么方法可以翻过一个字符串,直到它清除所有发誓的话.
$a = array( 'duck', 'chit', 'dsshole' ); 
$str = 'duchitck-you-dssduckhole'; 
$newString = str_ireplace($a,'',$str); 
$newString = str_ireplace('-','',$newString); 
$newString = trim($newString); 
echo $newString;  
我在标签上运行 strpos<a>来查看它是否包含两个 url 之一。
目前我正在使用这个波纹管 - 我将如何设置它来检查 - tumblr.com 或 google.com 是否存在?
function find_excluded_url ($url) {
    $find = "tumblr.com"; // OR GOOGLE.COM ....
    $pos = strpos($url, $find);
    if ($pos === false) {
        return false;
    } else {
        return true;
    }
}
// SET URL
   $url = "<a href='http://tumblr.com/my_post' rel='nofollow'>This site</a>";
// CALL FUNC
$run_url = find_excluded_url($url);
if ($run_url == true) {
    echo "URL - " . $url . "<br>";
}