У меня есть ситуация, когда мой поиск по шаблону не работает так, как я думал , что должен ... Это мой запрос MySQL, и он будет возвращать только целые слова ...
например.Если я введу «телефон» в качестве поискового слова, оно вернет все строки с «телефоном», но не строки с «телефонами» (обратите внимание на добавленные «s»)
mysql_query(" SELECT * FROM posts WHERE permalink = '$permalink' AND LOWER(raw_text) LIKE '%$str%' " );
Как я могу его получитьвернуть все варианты искомого слова?Очевидно, я знаю, что это может привести к проблемам, так как это может вернуть все виды совпадений, если пользователь введет обычный набор букв, я подумал, что мог бы сделать эту часть расширенного поиска.
ADENDUM Я сузил это до проблемы не с подстановочным знаком, а с тем, что я делаю с возвращенными данными ... Именно в моем регулярном выражении я добавляю данные.
$pattern= "/(?:[\w\"',.-]+\s*){0,5}[\"',.-]?\S*".$str."(\s|[,.!?])(\s*[A-Za-z0-9.,-]+){0,5}/";
preg_match_all($pattern, $row["raw_text"], $matches);
Регулярное выражение не находит строку в необработанных данных, которые я возвращаю, поэтому оно дает мне нулевое значение.Новая проблема, я не очень знаком с регулярными выражениями, поэтому я буду вынужден спорить с этим тоже ... Может быть, я скоро подниму новый вопрос!
Спасибо, M