if语句-PHP-使用strpos()查找HTML页面中的任意一个单词



我在StackOverflow上找了很多例子,这样这个问题就不会多余了。我还没有看到一个对我的情况有效的答案。提前感谢!!

我创建了一个自动响应脚本,用于响应建筑业务的潜在客户。入站潜在客户数据列在HTML文档(内部网页)中。因为根据与其他公司签订的各种协议,有些城市他们无法竞标我们地区的工作。

这是我用来在$page($page是html页面)中成功检查一个城市实例的代码:

<?php 
$flag == false;
         //checks for cities we do not serve//
if(strpos($page, 'Lakeland') !== false){
$flag == true;
}
if($price != 0 && $flag == false){
        // SENDS QUOTE 
if(strpos($page, '"success":true')){
    echo "Status: SENT QUOTE" . PHP_EOL;
?>

我真正需要做的是检查不止一个城市(例如Lakeland、Zephryhills或Tarpon Springs等),如果页面上列出了这些城市中的任何一个,$flag==true;并停止提交报价。我试过以下几种,但都没用。。。。使用此代码,它输入消息,但不会向任何线索提交自动响应:

<?php
$flag == false;
if (strpos($page, 'Lakeland') !== false || strpos($page, 'Zephryhills') !== false || strpos($page, 'Tarpon Springs') !== false){
$flag == true;
if($price != 0 && $flag == false){
    // SENDS QUOTE 
if(strpos($page, '"success":true')){
   echo "Status: SENT QUOTE" . PHP_EOL;
?>

@Vishwa,像这样的数组,后面跟着你的代码?

$cities = array('Lakeland', 'Zephyrhills', 'Tarpon Springs');

如果你能把城市列表放在一个数组中(我想你可以),这个函数可能会对你有所帮助。

function arraypos($html , $cities)
{
    foreach ($cities as $city) {
        if (strpos($html, $city) !== FALSE)   return true;
    }
    return false;
}

现在,你可以使用

   $flag == arraypos($page, $array_of_cities);

最新更新