我正在写一个PHP网页,从搜索框中获取数据,并使用它来搜索mysql数据库并返回结果。目前,它只使用类似mySQL的查询,其中包含所有提供的数据。这不是很灵活,因为它将数据视为要匹配的单个精确表达式。
经过快速的谷歌搜索,我找到了这个页面( http://www.iamcal.com/publish/articles/php/search/ ),我打算用它来扩展我的搜索网页的功能。
然而,我对该网页上的教程有两个疑问:
1)本教程的第一部分如下:
$terms = preg_replace("/\"(.*?)\"/e", "search_transform_term('\$1')", $terms);
我不明白为什么*后面跟着一个?,因为我理解了.*表示一个字符(可以是任意字符)0次或多次表示任意字符串。那个?表示零次或一次。因此,.*不是吗?也表示任何字符串?
2)我的第二个问题是如何使表达式替换包含在语音标记中的表达式,而不是括号中的表达式?
https://stackoverflow.com/questions/11812334
复制相似问题