好的,所以我从我的数据库中选择了一些抓取的文本并尝试解析电话号码。它在那里,我没有收到任何错误,但var_dump
正在返回int 0
为什么?这是代码
$query1 = "SELECT adtext, `key` FROM usedcars WHERE `key` = $x";
mysqli_query($conn, $query1);
$link_result = mysqli_query($conn, $query1);
$result = mysqli_fetch_assoc($link_result);
//now parse that number
$phone_number = preg_match("/^((([0-9]{1})*[- .(]*([0-9]{3})[- .)]*[0-9]{3}[- .]*[0-9]{4})+)*$/", $result['adtext']);
var_dump($phone_number);
}
顺便说一句,这是循环遍历数据库中每一行的一部分。就像我说的,它不会抛出错误,只是无法识别数字,所以我认为正则表达式或 idk 可能有问题。这是其preg_match
的特定文本 -ing
2001 Ford POS in great condition but definitely Im a liar and it will break down before you get home. Fix.Or.Repair.Daily that what I always say<br>
<br>
NO Blocked Calls<br>
<br>
I AM IN WASHINGTON D.C / VIRGINIA / MARYLAND Local buyers only<br>
<br>
<b>No warranty</b><br>Forsale by owner<br>
<br>
<b>Accepting first offer</b>
<b>24 hours call <u><b>Call Me ☎ 202-510-5939</b></b></u>
</div>
<p class="metaInfoDisplay">Poster's Reputation: 0<br></p>
<div style="padding-left:2em;">
• Location:
Northern Virginia, ☎ 202-210-5936
</div>
<div style="padding-left:2em;"><br />• Post ID: 1234567 washingtondc</div>
<div id="OtherAdsByThisUser" data-oid="7654321">
请帮助一个慢条斯理的家伙!
([0-9]?[- .(]*[0-9]{3}[- .)][0-9]{3}[- .][0-9]{4})
不完全了解您的正则表达式,但您可以尝试一下。不过,还需要进行更多测试。试试这里。
http://regex101.com/r/lZ5mN8/1
您的正则表达式将不起作用,因为锚点^
和&
。它们将匹配行的起点和终点。我已经删除了它们并修改了您的正则表达式。