我陷入了一些问题
这是我的代码
<?php
$code='$var';
$phone='$var1';
$default='0';
$html = file_get_contents('http://www.phunwa.com/phone/0191/2604122');
$name = preg_replace('/(.*)(<p><strong>Name:<\/strong> )([^<]+)(<\/p>)(.*)/mis','$3',$html);
$myVar = isset($name)?$name:$default;
$address = preg_replace('/(.*)(<p><strong>Address:<\/strong> )([^<]+)(<\/p>)(.*)/mis','$3',$html);
$location = preg_replace('/(.*)(<p><strong>Location:<\/strong> )([^<]+)(<\/p>)(.*)/mis','$3',$html);
$othernumbers = preg_replace('/(.*)(<p><strong>Other Numbers:<\/strong> )(.*)/mis','$3',$html);
list($othernumbers,$trash)= preg_split('/<\/p>/mis',$othernumbers,0);
if ($myVar ==0){echo 'Not Found'; }
else{echo 'name: '.$myVar.'<br>address: '.$address.'<br>location: '.$location.'<br>other numbers: '.$othernumbers;
}
exit;
?>
我正在尝试ftech网站数据。如果phoen编号存在,代码正在使用if语句。如果电话号码存在,原始网站说“未找到”。但是如果存在数量,我的代码就不会被处理。
以下是源网站中的标签,显示未找到该号码时。
<h1 class="second-page-title">Not found: 00191 - 2530152</h1>
我试图制作一些默认值。我的代码因找不到条件而失败。 在上面的代码中,数字有效并退出,如果删除“if”语句,它将回显结果。如果你给任意随机数。它会显示“未找到。 请帮我解决这个问题。 谢谢
新编辑
问题是如果我没有返回所需的值,我无法找到将变量$ name指定为0的方式。虽然它总是为myVAR变成1。 :(
经过漫长的等待所有PHP大师的回复。 在临时的基础上,我使用了if(strtoupper($ name)== $ name)语句,因为幸运的是所有的$ name都是大写字母。它不是永久的解决方案,但它现在正在工作。
我还在等待专家建议。
答案 0 :(得分:0)
使用if ($myVar =='0'){echo 'Not Found'; }
更好的语法是$myVar = (isset($name)) ? $name : $default;