私はいくつかの問題に立ち往生しています
これが私のコードです
<?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;
?>
ウェブサイト Data を ftech しようとしています。電話番号が存在する場合、コードはifステートメントなしで機能しています。電話番号が存在しない場合、元の Web サイトには「NOT FOUND」と表示されます。しかし、番号が存在しない場合、私のコードは処理されません。
以下は、番号が見つからない場合にソース Web サイトに表示されるタグです。
<h1 class="second-page-title">Not found: 00191 - 2530152</h1>
デフォルト値をいくつか作ってみました。私のコードは not found condition で失敗します。上記のコードでは、番号は有効で終了し、「if」ステートメントが削除されると結果がエコーされます。乱数を与えない場合。「見つかりませんでした。これを整理するのを手伝ってください。ありがとう
新しい編集
問題は、目的の値が返されなかった場合に変数 $name を 0 として割り当てる方法を見つけることができないことです。myVAR では常に 1 になりますが。:(
すべての PHP 専門家からの返信を長い間待ちました。幸いなことにすべての $name は大文字であるため、一時的に if ( strtoupper($name)==$name) ステートメントを使用しました。これは永続的な解決策ではありませんが、現在は機能しています。
私はまだ専門家のアドバイスを待っています。