我正在尝试获取一个字符串,删除单词列表和任何数字,然后在 MySQL 查询中使用结果。
它会回显我试图隔离的单词,但是当我将该单词放置为等于字符串时,它会返回 false 并且不会查询。
$remove_odonyms=preg_replace("/\b(st|street|rd|road|ln|lane|ter|terrace|ave|avenue|blvd|boulevard|ct|court)\b/", "", $search);
function remove_numbers($string) {
$num = array(1,2,3,4,5,6,7,8,9,0);
return str_replace($num, '', $string);
}
$street_only=remove_numbers($remove_odonyms);
因此,对于字符串 $search="60 main street"
echo $remove_odonyms
是 "60 main"
和 echo $ street_only
是“main”
。
但他们不会询问,也不会这样做
if($street_only="main"){ echo "true";}
编辑:我正在执行的查询是
$query="
SELECT * FROM column WHERE number='$int' AND odonym='$odonym' AND street_name='$street_only'
";
它什么也没返回。但是当我将其更改为 street_name="main"
时,它会返回我正在寻找的结果。
最佳答案
您有一个额外的空间,因此您需要修剪以删除空间。所以在查询之前使用trim()来删除空格并匹配查询中的确切单词。
$street_only = trim($street_only);
关于php - str_replace 仅使用整个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26458703/