Я использую следующее в mysql для получения заголовков в сортировке libray, например. Крестный отец сортируется как Крестный отец.php для создания имен сортировки библиотек
SELECT apnumber, aptitle, IF (aptitle LIKE '%', SUBSTRING (aptitle, 5), IF (aptitle LIKE 'A%', SUBSTRING (aptitle, 3), IF (aptitle LIKE '%%, SUBSTRING (aptitle, 4), aptitle))) AS sorttitle и т. Д.
Какой самый эффективный способ в PHP изменить строку в отсортированную в библиотеке версию? Это отбрасывает любые «An», «A» или «The» в начале названия. Могу ли я, полагая, мне нужно смотреть на что-то вроде:
substr_replace («The», «», 0)
Спасибо ... Я действительно начал использовать инструкцию mysql выше, чтобы заполнить некоторые старые таблицы ... теперь на функцию, чтобы сделать это прямо из PHP! – Ian
Сохраняет ли шаблон поиска в preg_replace OR'ing || ? Удивление, если это можно сделать только в одной строке preg_repalce ... – Ian
Да, 'preg_replace' использует обычный синтаксис регулярных выражений, поэтому ORs поддерживаются с помощью символа одного канала. Вы можете сделать что-то вроде 'preg_replace ("/^ (The | A | An |)/", '', $ title, 1)'. – zombat