我在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);