Вы можете использовать str_ireplace()
, если вы хотите, чтобы заменить всю строку или конвертировать LIKE-параметр в регулярное выражение и использовать preg_replace()
(не забудьте preg_quote()
строки, хотя).
Пример с использованием регулярных выражений:
$parts = explode('%', $likeQuery)
foreach ($parts as &$innerString) {
$innerParts = explode('_', $innerString);
foreach ($innerParts as &$part) {
$part = preg_quote($part, '/');
}
// always unset references when you're done with them
unset($part):
$innerString = implode('.', $innerString);
}
// always unset references when you're done with them
unset($innerString):
$regex = implode('.*?', $parts);
$transformedString = preg_replace("/$regex/", '<span>$0</span>', $stringToTransform);
grrr ... кто-то другой после этого сначала, когда я писал ответ – Andreas
работает отлично !! – tarnfeld
Это потенциально фиктивный, вы не избегаете (используя 'preg_quote()') '$ variable'. –