php - str_replace 仅使用整个单词

标签 php mysql regex preg-replace

我正在尝试获取一个字符串,删除单词列表和任何数字,然后在 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/

相关文章:

php - 如何在WordPress中显示帖子类型的子类别?

phpMyAdmin 无法连接 mysql

php - Laravel Redis 队列忽略限制

php处理que

c - GNU regex.h 中 re_match 的意外结果,我错过了什么吗?

ruby - 在 Ruby 的变量中保存多个正则表达式缓冲区?

php - PSR4 不工作

c# - 通过 ODBC 调用存储过程而不声明参数占位符

mysql - 如何正确使用带有 "ADODB.Connection"对象的 last_insert_id() ?

c 正则表达式代码不起作用?